src/pyams_content/features/redirect/zmi/container.py
changeset 873 5f40601f9cb0
parent 869 ae7f0471e337
child 1070 ea0c7ac589c4
equal deleted inserted replaced
872:c9f708af6069 873:5f40601f9cb0
    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):