11 # |
11 # |
12 |
12 |
13 __docformat__ = 'restructuredtext' |
13 __docformat__ = 'restructuredtext' |
14 |
14 |
15 from z3c.form import field |
15 from z3c.form import field |
|
16 from z3c.form.browser.checkbox import SingleCheckBoxFieldWidget |
16 |
17 |
17 from pyams_content.features.search.interfaces import ISearchManagerInfo |
18 from pyams_content.features.search.interfaces import ISearchManagerInfo |
18 from pyams_content.interfaces import MANAGE_SITE_ROOT_PERMISSION |
19 from pyams_content.interfaces import MANAGE_SITE_ROOT_PERMISSION |
19 from pyams_content.root import ISiteRoot |
20 from pyams_content.root import ISiteRoot |
20 from pyams_form.form import ajax_config |
21 from pyams_form.form import ajax_config |
|
22 from pyams_form.group import NamedWidgetsGroup |
21 from pyams_pagelet.pagelet import pagelet_config |
23 from pyams_pagelet.pagelet import pagelet_config |
22 from pyams_skin.layer import IPyAMSLayer |
24 from pyams_skin.layer import IPyAMSLayer |
23 from pyams_skin.viewlet.menu import MenuDivider, MenuItem |
25 from pyams_skin.viewlet.menu import MenuDivider, MenuItem |
24 from pyams_viewlet.viewlet import viewlet_config |
26 from pyams_viewlet.viewlet import viewlet_config |
25 from pyams_zmi.form import AdminDialogEditForm |
27 from pyams_zmi.form import AdminDialogEditForm |
55 prefix = 'search_manager.' |
57 prefix = 'search_manager.' |
56 |
58 |
57 legend = _("Search engine settings") |
59 legend = _("Search engine settings") |
58 dialog_class = 'modal-large' |
60 dialog_class = 'modal-large' |
59 |
61 |
60 fields = field.Fields(ISearchManagerInfo) |
62 fields = field.Fields(ISearchManagerInfo).omit('references') |
|
63 fields['enable_tags_search'].widgetFactory = SingleCheckBoxFieldWidget |
|
64 fields['enable_collections_search'].widgetFactory = SingleCheckBoxFieldWidget |
|
65 |
61 edit_permission = MANAGE_SITE_ROOT_PERMISSION |
66 edit_permission = MANAGE_SITE_ROOT_PERMISSION |
62 |
67 |
63 def getContent(self): |
68 def getContent(self): |
64 return ISearchManagerInfo(self.context) |
69 return ISearchManagerInfo(self.context) |
|
70 |
|
71 def updateGroups(self): |
|
72 self.add_group(NamedWidgetsGroup(self, 'tags_search', self.widgets, |
|
73 ('enable_tags_search', 'tags_search_target'), |
|
74 legend=_("Enable search by tag"), |
|
75 css_class='inner', |
|
76 switch=True, |
|
77 checkbox_switch=True, |
|
78 checkbox_field=ISearchManagerInfo['enable_tags_search'])) |
|
79 self.add_group(NamedWidgetsGroup(self, 'collections_search', self.widgets, |
|
80 ('enable_collections_search', |
|
81 'collections_search_target'), |
|
82 legend=_("Enable search by collection"), |
|
83 css_class='inner', |
|
84 switch=True, |
|
85 checkbox_switch=True, |
|
86 checkbox_field=ISearchManagerInfo[ |
|
87 'enable_collections_search'])) |
|
88 super(SearchManagerPropertiesEditForm, self).updateGroups() |