equal
deleted
inserted
replaced
7 # THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED |
7 # THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED |
8 # WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
8 # WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
9 # WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS |
9 # WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS |
10 # FOR A PARTICULAR PURPOSE. |
10 # FOR A PARTICULAR PURPOSE. |
11 # |
11 # |
|
12 from pyams_content.shared.common.interfaces.types import DATA_TYPES_VOCABULARY, ITypedSharedTool |
|
13 |
12 |
14 |
13 __docformat__ = 'restructuredtext' |
15 __docformat__ = 'restructuredtext' |
14 |
16 |
15 from hypatia.catalog import CatalogQuery |
17 from hypatia.catalog import CatalogQuery |
16 from hypatia.interfaces import ICatalog |
18 from hypatia.interfaces import ICatalog |
171 |
173 |
172 status = Choice(title=_("Status"), |
174 status = Choice(title=_("Status"), |
173 vocabulary=SHARED_TOOL_WORKFLOW_STATES_VOCABULARY, |
175 vocabulary=SHARED_TOOL_WORKFLOW_STATES_VOCABULARY, |
174 required=False) |
176 required=False) |
175 |
177 |
|
178 data_type = Choice(title=_("Data type"), |
|
179 vocabulary=DATA_TYPES_VOCABULARY, |
|
180 required=False) |
|
181 |
176 created_after = Datetime(title=_("Created after..."), |
182 created_after = Datetime(title=_("Created after..."), |
177 required=False) |
183 required=False) |
178 |
184 |
179 created_before = Datetime(title=_("Created before..."), |
185 created_before = Datetime(title=_("Created before..."), |
180 required=False) |
186 required=False) |
212 @property |
218 @property |
213 def fields(self): |
219 def fields(self): |
214 workflow = IWorkflow(self.context) |
220 workflow = IWorkflow(self.context) |
215 fields = field.Fields(ISharedToolAdvancedSearchFields) |
221 fields = field.Fields(ISharedToolAdvancedSearchFields) |
216 fields['status'].vocabulary = workflow.states |
222 fields['status'].vocabulary = workflow.states |
|
223 if not ITypedSharedTool.providedBy(self.context): |
|
224 fields = fields.omit('data_type') |
217 fields['tags'].widgetFactory = ThesaurusTermsTreeFieldWidget |
225 fields['tags'].widgetFactory = ThesaurusTermsTreeFieldWidget |
218 if IThemesManagerTarget.providedBy(self.context): |
226 if IThemesManagerTarget.providedBy(self.context): |
219 fields['themes'].widgetFactory = ThesaurusTermsTreeFieldWidget |
227 fields['themes'].widgetFactory = ThesaurusTermsTreeFieldWidget |
220 else: |
228 else: |
221 fields = fields.omit('themes') |
229 fields = fields.omit('themes') |
272 params &= query_params |
280 params &= query_params |
273 if data.get('owner'): |
281 if data.get('owner'): |
274 params &= Eq(catalog['role:owner'], data['owner']) |
282 params &= Eq(catalog['role:owner'], data['owner']) |
275 if data.get('status'): |
283 if data.get('status'): |
276 params &= Eq(catalog['workflow_state'], data['status']) |
284 params &= Eq(catalog['workflow_state'], data['status']) |
|
285 if data.get('data_type'): |
|
286 params &= Eq(catalog['data_type'], data['data_type']) |
277 if data.get('created_after'): |
287 if data.get('created_after'): |
278 params &= Ge(catalog['created_date'], data['created_after']) |
288 params &= Ge(catalog['created_date'], data['created_after']) |
279 if data.get('created_before'): |
289 if data.get('created_before'): |
280 params &= Le(catalog['created_date'], data['created_before']) |
290 params &= Le(catalog['created_date'], data['created_before']) |
281 if data.get('modified_after'): |
291 if data.get('modified_after'): |