213 class SharedToolAdvancedSearchForm(SearchForm): |
213 class SharedToolAdvancedSearchForm(SearchForm): |
214 """Shared tool advanced search form""" |
214 """Shared tool advanced search form""" |
215 |
215 |
216 legend = _("Advanced search") |
216 legend = _("Advanced search") |
217 |
217 |
|
218 fields_interface = ISharedToolAdvancedSearchFields |
|
219 sort_results = True |
|
220 |
|
221 prefix = 'search_form.' |
218 ajax_handler = 'advanced-search-results.html' |
222 ajax_handler = 'advanced-search-results.html' |
219 |
223 |
220 def __init__(self, context, request): |
224 def __init__(self, context, request): |
221 super(SharedToolAdvancedSearchForm, self).__init__(context, request) |
225 super(SharedToolAdvancedSearchForm, self).__init__(context, request) |
222 request.registry.notify(PageletCreatedEvent(self)) |
226 request.registry.notify(PageletCreatedEvent(self)) |
223 apply_skin(self.request, 'PyAMS admin skin') |
227 apply_skin(self.request, 'PyAMS admin skin') |
224 |
|
225 fields_interface = ISharedToolAdvancedSearchFields |
|
226 |
228 |
227 @property |
229 @property |
228 def fields(self): |
230 def fields(self): |
229 workflow = IWorkflow(self.context) |
231 workflow = IWorkflow(self.context) |
230 fields = field.Fields(self.fields_interface) |
232 fields = field.Fields(self.fields_interface) |
369 |
371 |
370 @property |
372 @property |
371 def data_attributes(self): |
373 def data_attributes(self): |
372 attributes = super(SharedToolAdvancedSearchResultsView, self).data_attributes |
374 attributes = super(SharedToolAdvancedSearchResultsView, self).data_attributes |
373 attributes['table'] = { |
375 attributes['table'] = { |
374 'data-ams-datatable-sorting': |
|
375 "{0},{1}".format(len(self.columns) - 1, self.dt_sort_order), |
|
376 'data-ams-datatable-display-length': |
376 'data-ams-datatable-display-length': |
377 IAdminProfile(self.request.principal).table_page_length |
377 IAdminProfile(self.request.principal).table_page_length |
378 } |
378 } |
|
379 if self.search_form.sort_results: |
|
380 attributes['table']['data-ams-datatable-sorting'] = \ |
|
381 "{0},{1}".format(len(self.columns) - 1, self.dt_sort_order) |
|
382 else: |
|
383 attributes['table']['data-ams-datatable-sorting'] = '[]' |
379 return attributes |
384 return attributes |
380 |
385 |
381 |
386 |
382 @adapter_config(context=(IBaseSharedTool, IPyAMSLayer, SharedToolAdvancedSearchResultsView), |
387 @adapter_config(context=(IBaseSharedTool, IPyAMSLayer, SharedToolAdvancedSearchResultsView), |
383 provides=IValues) |
388 provides=IValues) |