src/pyams_content/shared/view/zmi/reference.py
changeset 92 3facc843c06f
parent 81 3e37d4dd8e3b
child 527 5dd1aa8bedd9
equal deleted inserted replaced
91:87e08c0f3e3c 92:3facc843c06f
    16 # import standard library
    16 # import standard library
    17 
    17 
    18 # import interfaces
    18 # import interfaces
    19 from pyams_content.interfaces import MANAGE_CONTENT_PERMISSION
    19 from pyams_content.interfaces import MANAGE_CONTENT_PERMISSION
    20 from pyams_content.shared.view.interfaces import IWfView, IViewInternalReferencesSettings
    20 from pyams_content.shared.view.interfaces import IWfView, IViewInternalReferencesSettings
    21 from pyams_form.interfaces.form import IWidgetForm
    21 from pyams_form.interfaces.form import IWidgetForm, IUncheckedEditFormButtons
    22 from pyams_skin.interfaces import IInnerPage
    22 from pyams_skin.interfaces import IInnerPage
    23 from pyams_skin.layer import IPyAMSLayer
    23 from pyams_skin.layer import IPyAMSLayer
    24 from pyams_utils.interfaces import VIEW_SYSTEM_PERMISSION
    24 from pyams_utils.interfaces import VIEW_SYSTEM_PERMISSION
    25 from pyams_zmi.interfaces.menu import IPropertiesMenu
    25 from pyams_zmi.interfaces.menu import IPropertiesMenu
    26 from pyams_zmi.layer import IAdminLayer
    26 from pyams_zmi.layer import IAdminLayer
    40 from pyams_content import _
    40 from pyams_content import _
    41 
    41 
    42 
    42 
    43 @viewlet_config(name='references.divider', context=IWfView, layer=IAdminLayer,
    43 @viewlet_config(name='references.divider', context=IWfView, layer=IAdminLayer,
    44                 manager=IPropertiesMenu, permission=VIEW_SYSTEM_PERMISSION, weight=289)
    44                 manager=IPropertiesMenu, permission=VIEW_SYSTEM_PERMISSION, weight=289)
    45 class ReferencesMenuDivider(MenuDivider):
    45 class ViewReferencesMenuDivider(MenuDivider):
    46     """References menu divider"""
    46     """View references menu divider"""
    47 
    47 
    48 
    48 
    49 @viewlet_config(name='references.menu', context=IWfView, layer=IAdminLayer,
    49 @viewlet_config(name='references.menu', context=IWfView, layer=IAdminLayer,
    50                 manager=IPropertiesMenu, permission=VIEW_SYSTEM_PERMISSION, weight=290)
    50                 manager=IPropertiesMenu, permission=VIEW_SYSTEM_PERMISSION, weight=290)
    51 class ReferencesMenu(MenuItem):
    51 class ViewReferencesMenu(MenuItem):
    52     """References menu"""
    52     """View references menu"""
    53 
    53 
    54     label = _("References...")
    54     label = _("References...")
    55     icon_class = 'fa-link'
    55     icon_class = 'fa-link'
    56     url = '#references.html'
    56     url = '#references.html'
    57 
    57 
    58 
    58 
    59 class IReferencesEditButtons(Interface):
       
    60     """References settings form buttons"""
       
    61 
       
    62     reset = ResetButton(name='reset', title=_("Reset"))
       
    63     submit = button.Button(name='submit', title=_("Submit"))
       
    64 
       
    65 
       
    66 @pagelet_config(name='references.html', context=IWfView, layer=IPyAMSLayer, permission=VIEW_SYSTEM_PERMISSION)
    59 @pagelet_config(name='references.html', context=IWfView, layer=IPyAMSLayer, permission=VIEW_SYSTEM_PERMISSION)
    67 @implementer(IWidgetForm, IInnerPage)
    60 @implementer(IWidgetForm, IInnerPage)
    68 class ReferencesEditForm(AdminEditForm):
    61 class ViewReferencesEditForm(AdminEditForm):
    69     """References settings edit form"""
    62     """View references settings edit form"""
    70 
    63 
    71     legend = _("View internal references settings")
    64     legend = _("View internal references settings")
    72 
    65 
    73     fields = field.Fields(IViewInternalReferencesSettings)
    66     fields = field.Fields(IViewInternalReferencesSettings)
    74 
    67 
    75     @property
    68     @property
    76     def buttons(self):
    69     def buttons(self):
    77         if self.mode == INPUT_MODE:
    70         if self.mode == INPUT_MODE:
    78             return button.Buttons(IReferencesEditButtons)
    71             return button.Buttons(IUncheckedEditFormButtons)
    79         else:
    72         else:
    80             return button.Buttons(Interface)
    73             return button.Buttons(Interface)
    81 
    74 
    82     ajax_handler = 'references.json'
    75     ajax_handler = 'references.json'
    83 
    76 
    84 
    77 
    85 @view_config(name='references.json', context=IWfView, request_type=IPyAMSLayer,
    78 @view_config(name='references.json', context=IWfView, request_type=IPyAMSLayer,
    86              permission=MANAGE_CONTENT_PERMISSION, renderer='json', xhr=True)
    79              permission=MANAGE_CONTENT_PERMISSION, renderer='json', xhr=True)
    87 class ReferencesAJAXEditForm(AJAXEditForm, ReferencesEditForm):
    80 class ViewReferencesAJAXEditForm(AJAXEditForm, ViewReferencesEditForm):
    88     """References settings edit form, JSON renderer"""
    81     """References settings edit form, JSON renderer"""