src/pyams_content/features/footer/zmi/__init__.py
changeset 591 b694d5667d17
parent 545 ae803782cc37
child 595 f6ecc99e4745
--- a/src/pyams_content/features/footer/zmi/__init__.py	Wed Jun 06 13:32:14 2018 +0200
+++ b/src/pyams_content/features/footer/zmi/__init__.py	Fri Jun 08 10:33:23 2018 +0200
@@ -29,10 +29,10 @@
 from z3c.form.interfaces import INPUT_MODE
 
 # import packages
-from pyams_form.form import AJAXEditForm
+from pyams_form.form import ajax_config
 from pyams_form.group import NamedWidgetsGroup
 from pyams_pagelet.pagelet import pagelet_config
-from pyams_skin.viewlet.menu import MenuItem, MenuDivider
+from pyams_skin.viewlet.menu import MenuItem
 from pyams_template.template import template_config
 from pyams_utils.adapter import adapter_config
 from pyams_utils.url import absolute_url
@@ -63,6 +63,8 @@
 
 @pagelet_config(name='footer-settings.html', context=IFooterTarget, layer=IPyAMSLayer,
                 permission=MANAGE_TEMPLATE_PERMISSION)
+@ajax_config(name='footer-settings.json', context=IFooterTarget, layer=IPyAMSLayer,
+             permission=MANAGE_TEMPLATE_PERMISSION)
 @implementer(IWidgetForm, IInnerPage)
 class FooterSettingsEditForm(AdminEditForm):
     """Footer settings edit form"""
@@ -92,8 +94,6 @@
         else:
             return button.Buttons(Interface)
 
-    ajax_handler = 'footer-settings.json'
-
     def updateGroups(self):
         if self.getContent().can_inherit:
             group = NamedWidgetsGroup(self, 'footer', self.widgets,
@@ -110,14 +110,8 @@
         self.add_group(group)
         super(FooterSettingsEditForm, self).updateGroups()
 
-
-@view_config(name='footer-settings.json', context=IFooterTarget, request_type=IPyAMSLayer,
-             permission=MANAGE_TEMPLATE_PERMISSION, renderer='json', xhr=True)
-class FooterSettingsAJAXEditForm(AJAXEditForm, FooterSettingsEditForm):
-    """Footer settings edit form, JSON renderer"""
-
     def get_ajax_output(self, changes):
-        output = super(FooterSettingsAJAXEditForm, self).get_ajax_output(changes) or {}
+        output = super(self.__class__, self).get_ajax_output(changes) or {}
         if 'no_inherit' in changes.get(IInheritInfo, ()):
             output['status'] = 'reload'
         return output
@@ -164,7 +158,7 @@
                 context=(IFooterRendererSettings, IPyAMSLayer, FooterSettingsRendererEditSubform),
                 provides=IInnerSubForm)
 @adapter_config(name='footer-renderer-settings-form',
-                context=(IFooterTarget, IPyAMSLayer, FooterSettingsAJAXEditForm),
+                context=(IFooterTarget, IPyAMSLayer, FooterSettingsEditForm),
                 provides=IInnerSubForm)
 class FooterSettingsRendererSettingsEditForm(InnerAdminEditForm):
     """Footer settings renderer settings edit form"""