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 |
12 |
13 __docformat__ = 'restructuredtext' |
|
14 |
|
15 from z3c.form import button, field |
13 from z3c.form import button, field |
16 from z3c.form.browser.checkbox import SingleCheckBoxFieldWidget |
14 from z3c.form.browser.checkbox import SingleCheckBoxFieldWidget |
17 from z3c.form.interfaces import INPUT_MODE |
15 from z3c.form.interfaces import INPUT_MODE |
18 from zope.interface import Interface, implementer |
16 from zope.interface import Interface, implementer |
19 |
17 |
20 from pyams_content import _ |
|
21 from pyams_content.component.theme import ICollectionsManager, ITagsManager, IThemesManager |
18 from pyams_content.component.theme import ICollectionsManager, ITagsManager, IThemesManager |
22 from pyams_content.interfaces import MANAGE_CONTENT_PERMISSION |
19 from pyams_content.interfaces import MANAGE_CONTENT_PERMISSION |
23 from pyams_content.shared.view.interfaces import IViewCollectionsSettings, IViewTagsSettings, IViewThemesSettings, \ |
20 from pyams_content.shared.view.interfaces import IViewCollectionsSettings, IViewTagsSettings, \ |
24 IViewsManager, IWfView |
21 IViewThemesSettings, IViewsManager, IWfView |
25 from pyams_form.form import ajax_config |
22 from pyams_form.form import ajax_config |
26 from pyams_form.interfaces.form import IUncheckedEditFormButtons, IWidgetForm |
23 from pyams_form.interfaces.form import IUncheckedEditFormButtons, IWidgetForm |
27 from pyams_pagelet.pagelet import pagelet_config |
24 from pyams_pagelet.pagelet import pagelet_config |
28 from pyams_skin.interfaces import IInnerPage |
25 from pyams_skin.interfaces import IInnerPage |
29 from pyams_skin.layer import IPyAMSLayer |
26 from pyams_skin.layer import IPyAMSLayer |
33 from pyams_utils.registry import get_utility |
30 from pyams_utils.registry import get_utility |
34 from pyams_viewlet.viewlet import viewlet_config |
31 from pyams_viewlet.viewlet import viewlet_config |
35 from pyams_zmi.form import AdminEditForm |
32 from pyams_zmi.form import AdminEditForm |
36 from pyams_zmi.interfaces.menu import IPropertiesMenu |
33 from pyams_zmi.interfaces.menu import IPropertiesMenu |
37 from pyams_zmi.layer import IAdminLayer |
34 from pyams_zmi.layer import IAdminLayer |
|
35 |
|
36 |
|
37 __docformat__ = 'restructuredtext' |
|
38 |
|
39 from pyams_content import _ |
38 |
40 |
39 |
41 |
40 # |
42 # |
41 # Tags management |
43 # Tags management |
42 # |
44 # |
49 label = _("Tags...") |
51 label = _("Tags...") |
50 icon_class = 'fa-tag' |
52 icon_class = 'fa-tag' |
51 url = '#tags.html' |
53 url = '#tags.html' |
52 |
54 |
53 |
55 |
54 @pagelet_config(name='tags.html', context=IWfView, layer=IPyAMSLayer, permission=VIEW_SYSTEM_PERMISSION) |
56 @pagelet_config(name='tags.html', context=IWfView, layer=IPyAMSLayer, |
55 @ajax_config(name='tags.json', context=IWfView, layer=IPyAMSLayer, permission=MANAGE_CONTENT_PERMISSION) |
57 permission=VIEW_SYSTEM_PERMISSION) |
|
58 @ajax_config(name='tags.json', context=IWfView, layer=IPyAMSLayer, |
|
59 permission=MANAGE_CONTENT_PERMISSION) |
56 @implementer(IWidgetForm, IInnerPage) |
60 @implementer(IWidgetForm, IInnerPage) |
57 class ViewTagsEditForm(AdminEditForm): |
61 class ViewTagsEditForm(AdminEditForm): |
58 """View tags settings edit form""" |
62 """View tags settings edit form""" |
59 |
63 |
60 legend = _("View tags settings") |
64 legend = _("View tags settings") |
86 # |
90 # |
87 # Themes management |
91 # Themes management |
88 # |
92 # |
89 |
93 |
90 @viewlet_config(name='themes.menu', context=IWfView, layer=IAdminLayer, |
94 @viewlet_config(name='themes.menu', context=IWfView, layer=IAdminLayer, |
91 manager=IPropertiesMenu, permission=VIEW_SYSTEM_PERMISSION, weight=352) |
95 manager=IPropertiesMenu, permission=VIEW_SYSTEM_PERMISSION, weight=360) |
92 class ViewThemesMenu(MenuItem): |
96 class ViewThemesMenu(MenuItem): |
93 """View themes menu""" |
97 """View themes menu""" |
94 |
98 |
95 label = _("Themes...") |
99 label = _("Themes...") |
96 icon_class = 'fa-tags' |
100 icon_class = 'fa-tags' |
97 url = '#themes.html' |
101 url = '#themes.html' |
98 |
102 |
99 |
103 |
100 @pagelet_config(name='themes.html', context=IWfView, layer=IPyAMSLayer, permission=VIEW_SYSTEM_PERMISSION) |
104 @pagelet_config(name='themes.html', context=IWfView, layer=IPyAMSLayer, |
101 @ajax_config(name='themes.json', context=IWfView, layer=IPyAMSLayer, permission=MANAGE_CONTENT_PERMISSION) |
105 permission=VIEW_SYSTEM_PERMISSION) |
|
106 @ajax_config(name='themes.json', context=IWfView, layer=IPyAMSLayer, |
|
107 permission=MANAGE_CONTENT_PERMISSION) |
102 @implementer(IWidgetForm, IInnerPage) |
108 @implementer(IWidgetForm, IInnerPage) |
103 class ViewThemesEditForm(AdminEditForm): |
109 class ViewThemesEditForm(AdminEditForm): |
104 """View themes settings edit form""" |
110 """View themes settings edit form""" |
105 |
111 |
106 legend = _("View themes settings") |
112 legend = _("View themes settings") |
108 input_css_class = 'col-md-11' |
114 input_css_class = 'col-md-11' |
109 |
115 |
110 fields = field.Fields(IViewThemesSettings) |
116 fields = field.Fields(IViewThemesSettings) |
111 fields['select_context_themes'].widgetFactory = SingleCheckBoxFieldWidget |
117 fields['select_context_themes'].widgetFactory = SingleCheckBoxFieldWidget |
112 fields['themes'].widgetFactory = ThesaurusTermsTreeFieldWidget |
118 fields['themes'].widgetFactory = ThesaurusTermsTreeFieldWidget |
|
119 fields['include_subthemes'].widgetFactory = SingleCheckBoxFieldWidget |
113 |
120 |
114 @property |
121 @property |
115 def buttons(self): |
122 def buttons(self): |
116 if self.mode == INPUT_MODE: |
123 if self.mode == INPUT_MODE: |
117 return button.Buttons(IUncheckedEditFormButtons) |
124 return button.Buttons(IUncheckedEditFormButtons) |
132 # |
139 # |
133 # Collections management |
140 # Collections management |
134 # |
141 # |
135 |
142 |
136 @viewlet_config(name='collections.menu', context=IWfView, layer=IAdminLayer, |
143 @viewlet_config(name='collections.menu', context=IWfView, layer=IAdminLayer, |
137 manager=IPropertiesMenu, permission=VIEW_SYSTEM_PERMISSION, weight=354) |
144 manager=IPropertiesMenu, permission=VIEW_SYSTEM_PERMISSION, weight=370) |
138 class ViewCollectionsMenu(MenuItem): |
145 class ViewCollectionsMenu(MenuItem): |
139 """View collections menu""" |
146 """View collections menu""" |
140 |
147 |
141 label = _("Collections...") |
148 label = _("Collections...") |
142 icon_class = 'fa-book' |
149 icon_class = 'fa-book' |
143 url = '#collections.html' |
150 url = '#collections.html' |
144 |
151 |
145 |
152 |
146 @pagelet_config(name='collections.html', context=IWfView, layer=IPyAMSLayer, permission=VIEW_SYSTEM_PERMISSION) |
153 @pagelet_config(name='collections.html', context=IWfView, layer=IPyAMSLayer, |
147 @ajax_config(name='collections.json', context=IWfView, layer=IPyAMSLayer, permission=MANAGE_CONTENT_PERMISSION) |
154 permission=VIEW_SYSTEM_PERMISSION) |
|
155 @ajax_config(name='collections.json', context=IWfView, layer=IPyAMSLayer, |
|
156 permission=MANAGE_CONTENT_PERMISSION) |
148 @implementer(IWidgetForm, IInnerPage) |
157 @implementer(IWidgetForm, IInnerPage) |
149 class ViewCollectionsEditForm(AdminEditForm): |
158 class ViewCollectionsEditForm(AdminEditForm): |
150 """View collections settings edit form""" |
159 """View collections settings edit form""" |
151 |
160 |
152 legend = _("View collections settings") |
161 legend = _("View collections settings") |