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 |
|
14 |
|
15 __docformat__ = 'restructuredtext' |
|
16 |
12 |
17 from hypatia.catalog import CatalogQuery |
13 from hypatia.catalog import CatalogQuery |
18 from hypatia.interfaces import ICatalog |
14 from hypatia.interfaces import ICatalog |
19 from hypatia.query import Any, Contains, Eq, Ge, Le |
15 from hypatia.query import Any, Contains, Eq, Ge, Le |
20 from pyramid.view import view_config |
16 from pyramid.view import view_config |
24 from zope.interface import implementer |
20 from zope.interface import implementer |
25 from zope.intid.interfaces import IIntIds |
21 from zope.intid.interfaces import IIntIds |
26 from zope.schema import Choice, Datetime |
22 from zope.schema import Choice, Datetime |
27 |
23 |
28 from pyams_catalog.query import CatalogResultSet |
24 from pyams_catalog.query import CatalogResultSet |
29 from pyams_content.component.theme.interfaces import ICollectionsManager, ICollectionsManagerTarget, ITagsManager, \ |
25 from pyams_content.component.theme.interfaces import ICollectionsManager, \ |
30 IThemesManager, IThemesManagerTarget |
26 ICollectionsManagerTarget, ITagsManager, IThemesManager, IThemesManagerTarget |
31 from pyams_content.profile.interfaces import IAdminProfile |
27 from pyams_content.profile.interfaces import IAdminProfile |
32 from pyams_content.shared.common import CONTENT_TYPES |
28 from pyams_content.shared.common import CONTENT_TYPES |
33 from pyams_content.shared.common.interfaces import IBaseSharedTool, SHARED_TOOL_WORKFLOW_STATES_VOCABULARY |
29 from pyams_content.shared.common.interfaces import IBaseSharedTool, \ |
|
30 SHARED_TOOL_WORKFLOW_STATES_VOCABULARY |
|
31 from pyams_content.shared.common.interfaces.types import DATA_TYPES_VOCABULARY, ITypedSharedTool |
34 from pyams_content.shared.common.interfaces.zmi import ISharedToolDashboardTable |
32 from pyams_content.shared.common.interfaces.zmi import ISharedToolDashboardTable |
35 from pyams_content.zmi.interfaces import IAllContentsMenu |
33 from pyams_content.zmi.interfaces import IAllContentsMenu |
36 from pyams_form.search import ISearchFields, SearchForm, SearchResultsView, SearchView |
34 from pyams_form.search import ISearchFields, SearchForm, SearchResultsView, SearchView |
37 from pyams_i18n.interfaces import INegotiator |
35 from pyams_i18n.interfaces import INegotiator |
38 from pyams_pagelet.interfaces import PageletCreatedEvent |
36 from pyams_pagelet.interfaces import PageletCreatedEvent |
59 from pyams_viewlet.viewlet import viewlet_config |
57 from pyams_viewlet.viewlet import viewlet_config |
60 from pyams_workflow.interfaces import IWorkflow, IWorkflowVersions |
58 from pyams_workflow.interfaces import IWorkflow, IWorkflowVersions |
61 from pyams_zmi.layer import IAdminLayer |
59 from pyams_zmi.layer import IAdminLayer |
62 from pyams_zmi.view import AdminView |
60 from pyams_zmi.view import AdminView |
63 |
61 |
|
62 |
|
63 __docformat__ = 'restructuredtext' |
|
64 |
64 from pyams_content import _ |
65 from pyams_content import _ |
65 |
66 |
66 |
67 |
67 # |
68 # |
68 # Quick search adapters |
69 # Quick search adapters |
225 fields['tags'].widgetFactory = ThesaurusTermsTreeFieldWidget |
226 fields['tags'].widgetFactory = ThesaurusTermsTreeFieldWidget |
226 if IThemesManagerTarget.providedBy(self.context): |
227 if IThemesManagerTarget.providedBy(self.context): |
227 fields['themes'].widgetFactory = ThesaurusTermsTreeFieldWidget |
228 fields['themes'].widgetFactory = ThesaurusTermsTreeFieldWidget |
228 else: |
229 else: |
229 fields = fields.omit('themes') |
230 fields = fields.omit('themes') |
230 if ICollectionsManagerTarget.providedBy(self.context): |
231 fields['collections'].widgetFactory = ThesaurusTermsTreeFieldWidget |
231 fields['collections'].widgetFactory = ThesaurusTermsTreeFieldWidget |
|
232 else: |
|
233 fields = fields.omit('collections') |
|
234 return fields |
232 return fields |
235 |
233 |
236 def updateWidgets(self, prefix=None): |
234 def updateWidgets(self, prefix=None): |
237 super(SharedToolAdvancedSearchForm, self).updateWidgets(prefix) |
235 super(SharedToolAdvancedSearchForm, self).updateWidgets(prefix) |
238 if 'tags' in self.widgets: |
236 if 'tags' in self.widgets: |
245 manager = IThemesManager(self.context) |
243 manager = IThemesManager(self.context) |
246 widget.thesaurus_name = manager.thesaurus_name |
244 widget.thesaurus_name = manager.thesaurus_name |
247 widget.extract_name = manager.extract_name |
245 widget.extract_name = manager.extract_name |
248 if 'collections' in self.widgets: |
246 if 'collections' in self.widgets: |
249 widget = self.widgets['collections'] |
247 widget = self.widgets['collections'] |
250 manager = ICollectionsManager(self.context) |
248 manager = ICollectionsManager(self.request.root) |
251 widget.thesaurus_name = manager.thesaurus_name |
249 widget.thesaurus_name = manager.thesaurus_name |
252 widget.extract_name = manager.extract_name |
250 widget.extract_name = manager.extract_name |
253 |
251 |
254 |
252 |
255 @adapter_config(context=(IBaseSharedTool, IPyAMSLayer, SharedToolAdvancedSearchForm), provides=IContentSearch) |
253 @adapter_config(context=(IBaseSharedTool, IPyAMSLayer, SharedToolAdvancedSearchForm), provides=IContentSearch) |