src/pyams_content/shared/common/zmi/owner.py
changeset 591 b694d5667d17
parent 451 8467cbd639b5
child 1325 10f770095cec
--- a/src/pyams_content/shared/common/zmi/owner.py	Wed Jun 06 13:32:14 2018 +0200
+++ b/src/pyams_content/shared/common/zmi/owner.py	Fri Jun 08 10:33:23 2018 +0200
@@ -24,7 +24,7 @@
 from pyams_workflow.interfaces import IWorkflowVersions, IWorkflow, IWorkflowState
 
 # import packages
-from pyams_form.form import AJAXAddForm
+from pyams_form.form import AJAXAddForm, ajax_config
 from pyams_form.help import FormHelp
 from pyams_form.schema import CloseButton
 from pyams_pagelet.pagelet import pagelet_config
@@ -33,7 +33,6 @@
 from pyams_utils.adapter import adapter_config
 from pyams_viewlet.viewlet import viewlet_config
 from pyams_zmi.form import AdminDialogAddForm
-from pyramid.view import view_config
 from z3c.form import field, button
 from z3c.form.browser.checkbox import SingleCheckBoxFieldWidget
 from zope.interface import Interface
@@ -77,6 +76,7 @@
 
 @pagelet_config(name='change-owner.html', context=IWfSharedContent, layer=IPyAMSLayer,
                 permission=MANAGE_SITE_PERMISSION)
+@ajax_config(name='change-owner.json', context=IWfSharedContent, layer=IPyAMSLayer, base=AJAXAddForm)
 class WfSharedContentOwnerChangeForm(AdminDialogAddForm):
     """Shared content owner change form"""
 
@@ -86,7 +86,6 @@
     fields['keep_owner_as_contributor'].widgetFactory = SingleCheckBoxFieldWidget
     buttons = button.Buttons(IWfSharedContentOwnerChangeButtons)
 
-    ajax_handler = 'change-owner.json'
     edit_permission = MANAGE_SITE_PERMISSION
 
     def updateActions(self):
@@ -115,12 +114,6 @@
             roles.contributors = contributors
             self.request.registry.notify(ObjectModifiedEvent(version))
 
-
-@view_config(name='change-owner.json', context=IWfSharedContent, request_type=IPyAMSLayer,
-             permission=MANAGE_SITE_PERMISSION, renderer='json', xhr=True)
-class WfSharedContentOwnerChangeAJAXForm(AJAXAddForm,WfSharedContentOwnerChangeForm):
-    """Shared content owner change form, JSON renderer"""
-
     def get_ajax_output(self, changes):
         return {'status': 'reload'}