193 class SiteRootAdvancedSearchForm(SearchForm): |
193 class SiteRootAdvancedSearchForm(SearchForm): |
194 """Site root advanced search form""" |
194 """Site root advanced search form""" |
195 |
195 |
196 legend = _("Advanced search") |
196 legend = _("Advanced search") |
197 |
197 |
|
198 fields_interface = ISiteRootAdvancedSearchFields |
|
199 sort_results = True |
|
200 |
|
201 prefix = 'search_form.' |
|
202 ajax_handler = 'advanced-search-results.html' |
|
203 |
198 def __init__(self, context, request): |
204 def __init__(self, context, request): |
199 super(SiteRootAdvancedSearchForm, self).__init__(context, request) |
205 super(SiteRootAdvancedSearchForm, self).__init__(context, request) |
200 request.registry.notify(PageletCreatedEvent(self)) |
206 request.registry.notify(PageletCreatedEvent(self)) |
201 apply_skin(self.request, 'PyAMS admin skin') |
207 apply_skin(self.request, 'PyAMS admin skin') |
202 |
|
203 fields_interface = ISiteRootAdvancedSearchFields |
|
204 |
208 |
205 @property |
209 @property |
206 def fields(self): |
210 def fields(self): |
207 fields = field.Fields(self.fields_interface) |
211 fields = field.Fields(self.fields_interface) |
208 fields['tags'].widgetFactory = ThesaurusTermsTreeFieldWidget |
212 fields['tags'].widgetFactory = ThesaurusTermsTreeFieldWidget |
209 fields['collections'].widgetFactory = ThesaurusTermsTreeFieldWidget |
213 fields['collections'].widgetFactory = ThesaurusTermsTreeFieldWidget |
210 return fields |
214 return fields |
211 |
|
212 ajax_handler = 'advanced-search-results.html' |
|
213 |
215 |
214 def updateWidgets(self, prefix=None): |
216 def updateWidgets(self, prefix=None): |
215 super(SiteRootAdvancedSearchForm, self).updateWidgets(prefix) |
217 super(SiteRootAdvancedSearchForm, self).updateWidgets(prefix) |
216 if 'tags' in self.widgets: |
218 if 'tags' in self.widgets: |
217 widget = self.widgets['tags'] |
219 widget = self.widgets['tags'] |
326 |
328 |
327 @property |
329 @property |
328 def data_attributes(self): |
330 def data_attributes(self): |
329 attributes = super(SiteRootAdvancedSearchResultsView, self).data_attributes |
331 attributes = super(SiteRootAdvancedSearchResultsView, self).data_attributes |
330 attributes['table'] = { |
332 attributes['table'] = { |
331 'data-ams-datatable-sorting': |
|
332 "{0},{1}".format(len(self.columns) - 1, self.dt_sort_order), |
|
333 'data-ams-datatable-display-length': |
333 'data-ams-datatable-display-length': |
334 IAdminProfile(self.request.principal).table_page_length |
334 IAdminProfile(self.request.principal).table_page_length |
335 } |
335 } |
|
336 if self.search_form.sort_results: |
|
337 attributes['table']['data-ams-datatable-sorting'] = \ |
|
338 "{0},{1}".format(len(self.columns) - 1, self.dt_sort_order) |
|
339 else: |
|
340 attributes['table']['data-ams-datatable-sorting'] = '[]' |
336 return attributes |
341 return attributes |
337 |
342 |
338 |
343 |
339 @adapter_config(context=(ISiteRoot, IPyAMSLayer, SiteRootAdvancedSearchResultsView), |
344 @adapter_config(context=(ISiteRoot, IPyAMSLayer, SiteRootAdvancedSearchResultsView), |
340 provides=IValues) |
345 provides=IValues) |