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) |