35 from pyams_form.schema import CloseButton |
35 from pyams_form.schema import CloseButton |
36 from pyams_pagelet.pagelet import pagelet_config |
36 from pyams_pagelet.pagelet import pagelet_config |
37 from pyams_skin.help import ContentHelp |
37 from pyams_skin.help import ContentHelp |
38 from pyams_skin.page import DefaultPageHeaderAdapter |
38 from pyams_skin.page import DefaultPageHeaderAdapter |
39 from pyams_skin.skin import apply_skin |
39 from pyams_skin.skin import apply_skin |
40 from pyams_skin.table import BaseTable, SorterColumn, VisibilitySwitcherColumn, TrashColumn, I18nColumn |
40 from pyams_skin.table import BaseTable, SorterColumn, TrashColumn, I18nColumn, AttributeSwitcherColumn |
41 from pyams_skin.viewlet.menu import MenuItem |
41 from pyams_skin.viewlet.menu import MenuItem |
42 from pyams_skin.viewlet.toolbar import ToolbarAction |
42 from pyams_skin.viewlet.toolbar import ToolbarAction |
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.fanstatic import get_resource_path |
45 from pyams_utils.fanstatic import get_resource_path |
148 return {'status': 'success'} |
148 return {'status': 'success'} |
149 |
149 |
150 |
150 |
151 @adapter_config(name='enable-disable', context=(IRedirectionManagerTarget, IPyAMSLayer, RedirectionsContainerTable), |
151 @adapter_config(name='enable-disable', context=(IRedirectionManagerTarget, IPyAMSLayer, RedirectionsContainerTable), |
152 provides=IColumn) |
152 provides=IColumn) |
153 class RedirectionsContainerShowHideColumn(VisibilitySwitcherColumn): |
153 class RedirectionsContainerEnablerColumn(AttributeSwitcherColumn): |
154 """Redirections container activity switcher column""" |
154 """Redirections container enabler switcher column""" |
155 |
155 |
156 switch_attribute = 'active' |
156 switch_attribute = 'active' |
157 visible_icon_class = 'fa fa-fw fa-check-square-o' |
157 |
158 hidden_icon_class = 'fa fa-fw fa-square-o txt-color-silver opacity-75' |
158 on_icon_class = 'fa fa-fw fa-check-square-o' |
|
159 off_icon_class = 'fa fa-fw fa-square-o txt-color-silver opacity-75' |
159 |
160 |
160 icon_hint = _("Enable/disable rule") |
161 icon_hint = _("Enable/disable rule") |
161 |
162 |
162 url = 'MyAMS.container.switchElementAttribute' |
|
163 weight = 6 |
163 weight = 6 |
164 |
164 |
165 |
165 |
166 @view_config(name='switch-rule-activity.json', context=IRedirectionManager, request_type=IPyAMSLayer, |
166 @view_config(name='switch-rule-activity.json', context=IRedirectionManager, request_type=IPyAMSLayer, |
167 permission=MANAGE_SITE_ROOT_PERMISSION, renderer='json', xhr=True) |
167 permission=MANAGE_SITE_ROOT_PERMISSION, renderer='json', xhr=True) |
175 return {'on': rule.active} |
175 return {'on': rule.active} |
176 |
176 |
177 |
177 |
178 @adapter_config(name='chain-unchain', context=(IRedirectionManagerTarget, IPyAMSLayer, RedirectionsContainerTable), |
178 @adapter_config(name='chain-unchain', context=(IRedirectionManagerTarget, IPyAMSLayer, RedirectionsContainerTable), |
179 provides=IColumn) |
179 provides=IColumn) |
180 class RedirectionsContainerChainedColumn(VisibilitySwitcherColumn): |
180 class RedirectionsContainerChainedColumn(AttributeSwitcherColumn): |
181 """Redirections container chained switcher column""" |
181 """Redirections container chained switcher column""" |
182 |
182 |
183 switch_attribute = 'chained' |
183 switch_attribute = 'chained' |
184 visible_icon_class = 'fa fa-fw fa-chain' |
184 |
185 hidden_icon_class = 'fa fa-fw fa-chain txt-color-silver opacity-50' |
185 on_icon_class = 'fa fa-fw fa-chain' |
|
186 off_icon_class = 'fa fa-fw fa-chain txt-color-silver opacity-50' |
186 |
187 |
187 icon_hint = _("Chain/unchain rule") |
188 icon_hint = _("Chain/unchain rule") |
188 |
189 |
189 url = 'MyAMS.container.switchElementAttribute' |
|
190 weight = 7 |
190 weight = 7 |
191 |
191 |
192 |
192 |
193 @view_config(name='switch-rule-chain.json', context=IRedirectionManager, request_type=IPyAMSLayer, |
193 @view_config(name='switch-rule-chain.json', context=IRedirectionManager, request_type=IPyAMSLayer, |
194 permission=MANAGE_SITE_ROOT_PERMISSION, renderer='json', xhr=True) |
194 permission=MANAGE_SITE_ROOT_PERMISSION, renderer='json', xhr=True) |
197 container = IRedirectionManager(request.context) |
197 container = IRedirectionManager(request.context) |
198 rule = container.get(str(request.params.get('object_name'))) |
198 rule = container.get(str(request.params.get('object_name'))) |
199 if rule is None: |
199 if rule is None: |
200 raise NotFound() |
200 raise NotFound() |
201 rule.chained = not rule.chained |
201 rule.chained = not rule.chained |
202 return {'on': rule.chained} |
202 return {'chained': rule.chained} |
203 |
203 |
204 |
204 |
205 @adapter_config(name='name', context=(IRedirectionManagerTarget, IPyAMSLayer, RedirectionsContainerTable), |
205 @adapter_config(name='name', context=(IRedirectionManagerTarget, IPyAMSLayer, RedirectionsContainerTable), |
206 provides=IColumn) |
206 provides=IColumn) |
207 class RedirectionsContainerNameColumn(I18nColumn, GetAttrColumn): |
207 class RedirectionsContainerNameColumn(I18nColumn, GetAttrColumn): |