src/pyams_content/root/zmi/search.py
changeset 1408 916c81459d6b
parent 1407 85e615286c7a
child 1449 b74f6ea0f791
equal deleted inserted replaced
1407:85e615286c7a 1408:916c81459d6b
   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)