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.component.theme import ICollectionsManagerTarget, ICollectionsManager |
12 |
13 |
13 __docformat__ = 'restructuredtext' |
14 __docformat__ = 'restructuredtext' |
14 |
15 |
15 |
16 |
16 # import standard library |
17 # import standard library |
104 permission=MANAGE_TOOL_PERMISSION) |
105 permission=MANAGE_TOOL_PERMISSION) |
105 @ajax_config(name='themes.json', context=IThemesManagerTarget, layer=IPyAMSLayer) |
106 @ajax_config(name='themes.json', context=IThemesManagerTarget, layer=IPyAMSLayer) |
106 class ThemesManagerEditForm(AdminDialogEditForm): |
107 class ThemesManagerEditForm(AdminDialogEditForm): |
107 """Themes manager edit form""" |
108 """Themes manager edit form""" |
108 |
109 |
109 prefix = 'manager_tags.' |
110 prefix = 'manager_themes.' |
110 |
111 |
111 legend = _("Selected themes") |
112 legend = _("Selected themes") |
112 |
113 |
113 fields = field.Fields(IThemesManager) |
114 fields = field.Fields(IThemesManager) |
114 edit_permission = MANAGE_TOOL_PERMISSION |
115 edit_permission = MANAGE_TOOL_PERMISSION |
128 'ams-events-handlers': { |
129 'ams-events-handlers': { |
129 'select2-open': 'PyAMS_content.themes.getExtracts' |
130 'select2-open': 'PyAMS_content.themes.getExtracts' |
130 } |
131 } |
131 } |
132 } |
132 alsoProvides(widget, IObjectData) |
133 alsoProvides(widget, IObjectData) |
|
134 |
|
135 |
|
136 # |
|
137 # Collections management view |
|
138 # |
|
139 |
|
140 @viewlet_config(name='collections-manager.menu', context=ICollectionsManagerTarget, layer=IAdminLayer, |
|
141 manager=IPropertiesMenu, permission=MANAGE_TOOL_PERMISSION, weight=42) |
|
142 class CollectionsManagerMenu(MenuItem): |
|
143 """Collections menu""" |
|
144 |
|
145 label = _("Collections settings...") |
|
146 icon_class = 'fa-book' |
|
147 url = 'collections.html' |
|
148 modal_target = True |
|
149 |
|
150 |
|
151 @pagelet_config(name='collections.html', context=ICollectionsManagerTarget, layer=IPyAMSLayer, |
|
152 permission=MANAGE_TOOL_PERMISSION) |
|
153 @ajax_config(name='collections.json', context=ICollectionsManagerTarget, layer=IPyAMSLayer) |
|
154 class CollectionsManagerEditForm(AdminDialogEditForm): |
|
155 """Collections manager edit form""" |
|
156 |
|
157 prefix = 'manager_collections.' |
|
158 |
|
159 legend = _("Selected collections") |
|
160 |
|
161 fields = field.Fields(ICollectionsManager) |
|
162 edit_permission = MANAGE_TOOL_PERMISSION |
|
163 |
|
164 def updateWidgets(self, prefix=None): |
|
165 super(CollectionsManagerEditForm, self).updateWidgets(prefix) |
|
166 widget = self.widgets['thesaurus_name'] |
|
167 widget.object_data = { |
|
168 'ams-plugins': 'pyams_content', |
|
169 'ams-plugin-pyams_content-src': get_resource_path(pyams_content), |
|
170 'ams-plugin-pyams_content-callback': 'PyAMS_content.collections.initExtracts', |
|
171 'ams-plugin-pyams_content-async': 'false' |
|
172 } |
|
173 alsoProvides(widget, IObjectData) |
|
174 widget = self.widgets['extract_name'] |
|
175 widget.object_data = { |
|
176 'ams-events-handlers': { |
|
177 'select2-open': 'PyAMS_content.themes.getExtracts' |
|
178 } |
|
179 } |
|
180 alsoProvides(widget, IObjectData) |