src/pyams_content/features/search/__init__.py
changeset 1443 2af30495d1d7
parent 1388 8c757af2fc50
child 1456 a07b27effd38
equal deleted inserted replaced
1442:22716baab0fe 1443:2af30495d1d7
    62     @staticmethod
    62     @staticmethod
    63     def is_deletable():
    63     def is_deletable():
    64         return True
    64         return True
    65 
    65 
    66     def get_results(self, context, sort_index=None, reverse=None, limit=None,
    66     def get_results(self, context, sort_index=None, reverse=None, limit=None,
    67                     start=0, length=None, ignore_cache=False, get_count=False, request=None):
    67                     start=0, length=None, ignore_cache=False, get_count=False, request=None,
       
    68                     aggregates=None):
    68         if not ignore_cache:
    69         if not ignore_cache:
    69             request = check_request()
    70             if request is None:
       
    71                 request = check_request()
    70             ignore_cache = bool(request.params)
    72             ignore_cache = bool(request.params)
    71         return super(SearchFolder, self).get_results(context, sort_index, reverse, limit, start,
    73         return super(SearchFolder, self).get_results(context, sort_index, reverse, limit, start,
    72                                                      length, ignore_cache, get_count, request)
    74                                                      length, ignore_cache, get_count, request,
       
    75                                                      aggregates)
    73 
    76 
    74 
    77 
    75 @adapter_config(context=ISearchFolder, provides=IFormContextPermissionChecker)
    78 @adapter_config(context=ISearchFolder, provides=IFormContextPermissionChecker)
    76 class SearchFolderPermissionChecker(ContextAdapter):
    79 class SearchFolderPermissionChecker(ContextAdapter):
    77     """Search folder edit permission checker"""
    80     """Search folder edit permission checker"""
   141                         if index.check_query(fulltext):
   144                         if index.check_query(fulltext):
   142                             query_params.append(
   145                             query_params.append(
   143                                 Contains(index, ' and '.join((w + '*'
   146                                 Contains(index, ' and '.join((w + '*'
   144                                                               for w in fulltext.split()))))
   147                                                               for w in fulltext.split()))))
   145                 yield Or(*query_params)
   148                 yield Or(*query_params)
       
   149 
       
   150 
       
   151 @adapter_config(name='content_type', context=SearchFolderQuery, provides=IViewUserQuery)
       
   152 class SearchFolderContentTypeQuery(ContextAdapter):
       
   153     """Search folder content-type query"""
       
   154 
       
   155     @staticmethod
       
   156     def get_user_params(request):
       
   157         content_type = request.params.get('content_type')
       
   158         if content_type:
       
   159             catalog = get_utility(ICatalog)
       
   160             yield Eq(catalog['content_type'], content_type)