20 from pyams_content.profile.interfaces import IAdminProfile |
20 from pyams_content.profile.interfaces import IAdminProfile |
21 from pyams_content.shared.common.interfaces import ISharedTool |
21 from pyams_content.shared.common.interfaces import ISharedTool |
22 from pyams_content.shared.common.interfaces.zmi import ISharedToolDashboardTable |
22 from pyams_content.shared.common.interfaces.zmi import ISharedToolDashboardTable |
23 from pyams_pagelet.interfaces import PageletCreatedEvent |
23 from pyams_pagelet.interfaces import PageletCreatedEvent |
24 from pyams_sequence.interfaces import ISequentialIntIds |
24 from pyams_sequence.interfaces import ISequentialIntIds |
25 from pyams_skin.interfaces import IPageHeader, IContentSearch |
25 from pyams_skin.interfaces import IPageHeader, IContentSearch, IInnerPage |
26 from pyams_skin.layer import IPyAMSLayer |
26 from pyams_skin.layer import IPyAMSLayer |
27 from pyams_utils.interfaces import VIEW_SYSTEM_PERMISSION |
27 from pyams_utils.interfaces import VIEW_SYSTEM_PERMISSION |
28 from pyams_workflow.interfaces import IWorkflowVersions, IWorkflow |
28 from pyams_workflow.interfaces import IWorkflowVersions, IWorkflow |
29 from pyams_zmi.interfaces import IAdminView |
|
30 from z3c.table.interfaces import IValues |
29 from z3c.table.interfaces import IValues |
31 from zope.dublincore.interfaces import IZopeDublinCore |
30 from zope.dublincore.interfaces import IZopeDublinCore |
32 |
31 |
33 # import packages |
32 # import packages |
34 from hypatia.catalog import CatalogQuery |
33 from hypatia.catalog import CatalogQuery |
37 from pyams_catalog.query import CatalogResultSet |
36 from pyams_catalog.query import CatalogResultSet |
38 from pyams_form.search import SearchView, SearchForm, SearchResultsView, ISearchFields |
37 from pyams_form.search import SearchView, SearchForm, SearchResultsView, ISearchFields |
39 from pyams_pagelet.pagelet import pagelet_config |
38 from pyams_pagelet.pagelet import pagelet_config |
40 from pyams_security.schema import Principal |
39 from pyams_security.schema import Principal |
41 from pyams_skin.page import DefaultPageHeaderAdapter |
40 from pyams_skin.page import DefaultPageHeaderAdapter |
|
41 from pyams_skin.skin import apply_skin |
42 from pyams_skin.table import BaseTable |
42 from pyams_skin.table import BaseTable |
43 from pyams_template.template import template_config |
43 from pyams_template.template import template_config |
44 from pyams_utils.adapter import adapter_config, ContextRequestViewAdapter |
44 from pyams_utils.adapter import adapter_config, ContextRequestViewAdapter |
45 from pyams_utils.list import unique |
45 from pyams_utils.list import unique |
46 from pyams_utils.registry import get_utility |
46 from pyams_utils.registry import get_utility |
134 modified_before = Date(title=_("Modified before..."), |
134 modified_before = Date(title=_("Modified before..."), |
135 required=False) |
135 required=False) |
136 |
136 |
137 |
137 |
138 @template_config(template='templates/advanced-search.pt', layer=IPyAMSLayer) |
138 @template_config(template='templates/advanced-search.pt', layer=IPyAMSLayer) |
139 @implementer(IAdminView) |
139 @implementer(IInnerPage) |
140 class SharedToolAdvancedSearchForm(SearchForm): |
140 class SharedToolAdvancedSearchForm(SearchForm): |
141 """Shared tool advanced search form""" |
141 """Shared tool advanced search form""" |
142 |
142 |
143 legend = _("Advanced search") |
143 legend = _("Advanced search") |
144 |
144 |
145 ajax_handler = 'advanced-search-results.html' |
145 ajax_handler = 'advanced-search-results.html' |
146 |
146 |
147 def __init__(self, context, request): |
147 def __init__(self, context, request): |
148 super(SharedToolAdvancedSearchForm, self).__init__(context, request) |
148 super(SharedToolAdvancedSearchForm, self).__init__(context, request) |
149 request.registry.notify(PageletCreatedEvent(self)) |
149 request.registry.notify(PageletCreatedEvent(self)) |
|
150 apply_skin(self.request, 'PyAMS admin skin') |
150 |
151 |
151 @property |
152 @property |
152 def fields(self): |
153 def fields(self): |
153 workflow = IWorkflow(self.context) |
154 workflow = IWorkflow(self.context) |
154 fields = field.Fields(ISharedToolAdvancedSearchFields) |
155 fields = field.Fields(ISharedToolAdvancedSearchFields) |
198 sort_index='modified_date', |
199 sort_index='modified_date', |
199 reverse=True)))) |
200 reverse=True)))) |
200 |
201 |
201 |
202 |
202 @pagelet_config(name='advanced-search.html', context=ISharedTool, layer=IPyAMSLayer, permission=VIEW_SYSTEM_PERMISSION) |
203 @pagelet_config(name='advanced-search.html', context=ISharedTool, layer=IPyAMSLayer, permission=VIEW_SYSTEM_PERMISSION) |
203 class SharedToolAdvancedSearchView(AdminView, SearchView): |
204 class SharedToolAdvancedSearchView(SearchView): |
204 """Shared tool advanced search view""" |
205 """Shared tool advanced search view""" |
205 |
206 |
206 search_form_factory = SharedToolAdvancedSearchForm |
207 search_form_factory = SharedToolAdvancedSearchForm |
207 |
208 |
208 |
209 |