--- a/src/pyams_content/shared/site/zmi/folder.py Wed Jun 06 13:32:14 2018 +0200
+++ b/src/pyams_content/shared/site/zmi/folder.py Fri Jun 08 10:33:23 2018 +0200
@@ -9,10 +9,6 @@
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
# FOR A PARTICULAR PURPOSE.
#
-from pyams_content.shared.common import IBaseSharedTool
-from pyams_content.shared.common.zmi.manager import SharedToolPropertiesEditForm
-from pyams_utils.adapter import adapter_config, ContextRequestAdapter
-from pyams_zmi.interfaces.menu import ISiteManagementMenu
__docformat__ = 'restructuredtext'
@@ -21,20 +17,24 @@
# import interfaces
from pyams_content.interfaces import MANAGE_SITE_PERMISSION, MANAGE_TOOL_PERMISSION
+from pyams_content.shared.common.interfaces import IBaseSharedTool
from pyams_content.shared.site.interfaces import ISiteContainer, ISiteManager, ISiteFolder
from pyams_i18n.interfaces import INegotiator, II18n
from pyams_skin.interfaces.viewlet import IToolbarAddingMenu, IMenuHeader
from pyams_skin.layer import IPyAMSLayer
+from pyams_zmi.interfaces.menu import ISiteManagementMenu
from pyams_zmi.layer import IAdminLayer
from z3c.form.interfaces import IDataExtractedEvent
from zope.intid.interfaces import IIntIds
# import packages
+from pyams_content.shared.common.zmi.manager import SharedToolPropertiesEditForm
from pyams_content.shared.site.zmi.widget import SiteManagerFoldersSelectorFieldWidget
-from pyams_form.form import AJAXAddForm, AJAXEditForm
+from pyams_form.form import AJAXAddForm, AJAXEditForm, ajax_config
from pyams_i18n.schema import I18nTextLineField
from pyams_pagelet.pagelet import pagelet_config
from pyams_skin.viewlet.toolbar import ToolbarMenuItem
+from pyams_utils.adapter import adapter_config, ContextRequestAdapter
from pyams_utils.registry import get_utility
from pyams_utils.traversing import get_parent
from pyams_utils.unicode import translate_string
@@ -80,6 +80,7 @@
@pagelet_config(name='add-site-folder.html', context=ISiteContainer, layer=IPyAMSLayer,
permission=MANAGE_SITE_PERMISSION)
+@ajax_config(name='add-site-folder.json', context=ISiteContainer, layer=IPyAMSLayer, base=AJAXAddForm)
class SiteFolderAddForm(AdminDialogAddForm):
"""Site folder add form"""
@@ -93,7 +94,6 @@
fields = field.Fields(ISiteFolderAddFormFields)
fields['parent'].widgetFactory = SiteManagerFoldersSelectorFieldWidget
- ajax_handler = 'add-site-folder.json'
edit_permission = MANAGE_SITE_PERMISSION
def updateWidgets(self, prefix=None):
@@ -140,6 +140,9 @@
def nextURL(self):
return absolute_url(self.context, self.request, 'admin#site-tree.html')
+ def get_ajax_output(self, changes):
+ return {'status': 'reload'}
+
@subscriber(IDataExtractedEvent, form_selector=SiteFolderAddForm)
def handle_site_folder_add_form_data_extraction(event):
@@ -150,15 +153,6 @@
event.form.widgets.errors += (Invalid(_("You must provide a folder name for default server language!")),)
-@view_config(name='add-site-folder.json', context=ISiteContainer, request_type=IPyAMSLayer,
- permission=MANAGE_SITE_PERMISSION, renderer='json', xhr=True)
-class SiteFolderAJAXAddForm(AJAXAddForm, SiteFolderAddForm):
- """Site folder add form, JSON renderer"""
-
- def get_ajax_output(self, changes):
- return {'status': 'reload'}
-
-
@adapter_config(context=(ISiteFolder, ISiteManagementMenu), provides=IMenuHeader)
class SiteFolderSiteManagementMenuHeader(ContextRequestAdapter):
"""Site folder site management menu header adapter"""