src/pyams_content/component/paragraph/zmi/keynumber.py
branchdev-dc
changeset 931 a2f3b82f93c3
parent 858 1afd36ed6947
parent 926 9f9ffb0be25d
child 932 8e9a1496c2ba
--- a/src/pyams_content/component/paragraph/zmi/keynumber.py	Tue Jul 17 15:12:43 2018 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,127 +0,0 @@
-#
-# Copyright (c) 2008-2015 Thierry Florac <tflorac AT ulthar.net>
-# All Rights Reserved.
-#
-# This software is subject to the provisions of the Zope Public License,
-# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
-# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
-# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
-# FOR A PARTICULAR PURPOSE.
-#
-
-__docformat__ = 'restructuredtext'
-
-
-# import standard library
-
-# import interfaces
-from pyams_content.component.paragraph.interfaces import IParagraphContainerTarget, IParagraphContainer
-from pyams_content.component.paragraph.interfaces.keynumber import KEYNUMBER_PARAGRAPH_TYPE, IKeyNumberParagraph
-from pyams_content.component.paragraph.zmi import IParagraphContainerView, IParagraphEditFormButtons
-from pyams_content.component.paragraph.zmi.interfaces import IParagraphInnerEditor
-from pyams_content.interfaces import MANAGE_CONTENT_PERMISSION
-from pyams_content.shared.common import IWfSharedContent
-from pyams_form.interfaces.form import IInnerForm
-from pyams_i18n.interfaces import II18n
-from pyams_skin.interfaces.viewlet import IToolbarAddingMenu
-from pyams_skin.layer import IPyAMSLayer
-from z3c.form.interfaces import INPUT_MODE
-
-# import packages
-from pyams_content.component.keynumber.zmi import IKeyNumbersParentForm
-from pyams_content.component.paragraph.keynumber import KeyNumberParagraph
-from pyams_content.component.paragraph.zmi import BaseParagraphAddMenu, BaseParagraphAJAXAddForm, \
-    BaseParagraphPropertiesEditForm, BaseParagraphAJAXEditForm
-from pyams_content.features.renderer.zmi.widget import RendererFieldWidget
-from pyams_form.form import ajax_config
-from pyams_pagelet.pagelet import pagelet_config
-from pyams_skin.event import get_json_widget_refresh_event
-from pyams_utils.adapter import adapter_config
-from pyams_utils.traversing import get_parent
-from pyams_viewlet.viewlet import viewlet_config
-from pyams_zmi.form import AdminDialogAddForm
-from z3c.form import field, button
-from zope.interface import implementer, Interface
-
-from pyams_content import _
-
-
-@viewlet_config(name='add-keynumber-paragraph.menu', context=IParagraphContainerTarget, view=IParagraphContainerView,
-                layer=IPyAMSLayer, manager=IToolbarAddingMenu, weight=600)
-class KeyNumberParagraphAddMenu(BaseParagraphAddMenu):
-    """Key number paragraph add menu"""
-    
-    label = _("Key numbers...")
-    label_css_class = 'fa fa-fw fa-dashboard'
-    url = 'add-keynumber-paragraph.html'
-    paragraph_type = KEYNUMBER_PARAGRAPH_TYPE
-    
-    
-@pagelet_config(name='add-keynumber-paragraph.html', context=IParagraphContainerTarget, layer=IPyAMSLayer,
-                permission=MANAGE_CONTENT_PERMISSION)
-@ajax_config(name='add-keynumber-paragraph.json', context=IParagraphContainerTarget, layer=IPyAMSLayer,
-             base=BaseParagraphAJAXAddForm)
-class KeyNumberParagraphAddForm(AdminDialogAddForm):
-    """Key number paragraph add form"""
-    
-    legend = _("Add new key number paragraph")
-    icon_css_class = 'fa fa-fw fa-dashboard'
-    
-    fields = field.Fields(IKeyNumberParagraph).select('title', 'renderer')
-    edit_permission = MANAGE_CONTENT_PERMISSION
-    
-    def create(self, data):
-        return KeyNumberParagraph()
-    
-    def add(self, object):
-        IParagraphContainer(self.context).append(object)
-
-    
-@pagelet_config(name='properties.html', context=IKeyNumberParagraph, layer=IPyAMSLayer,
-                permission=MANAGE_CONTENT_PERMISSION)
-@ajax_config(name='properties.json', context=IKeyNumberParagraph, layer=IPyAMSLayer,
-             base=BaseParagraphAJAXEditForm)
-@implementer(IKeyNumbersParentForm)
-class KeyNumberParagraphPropertiesEditForm(BaseParagraphPropertiesEditForm):
-    """Key number paragraph properties edit form"""
-
-    prefix = 'keynumbers_properties.'
-
-    @property
-    def title(self):
-        content = get_parent(self.context, IWfSharedContent)
-        return II18n(content).query_attribute('title', request=self.request)
-
-    legend = _("Edit key number paragraph properties")
-    icon_css_class = 'fa fa-fw fa-dashboard'
-
-    fields = field.Fields(IKeyNumberParagraph).select('title', 'renderer')
-    fields['renderer'].widgetFactory = RendererFieldWidget
-
-    edit_permission = MANAGE_CONTENT_PERMISSION
-
-
-@adapter_config(context=(IKeyNumberParagraph, IPyAMSLayer), provides=IParagraphInnerEditor)
-@ajax_config(name='inner-properties.json', context=IKeyNumberParagraph, layer=IPyAMSLayer,
-             base=BaseParagraphAJAXEditForm)
-@implementer(IInnerForm, IKeyNumbersParentForm)
-class KeyNumberParagraphInnerEditForm(KeyNumberParagraphPropertiesEditForm):
-    """Key number paragraph inner edit form"""
-
-    legend = None
-
-    @property
-    def buttons(self):
-        if self.mode == INPUT_MODE:
-            return button.Buttons(IParagraphEditFormButtons)
-        else:
-            return button.Buttons()
-
-    def get_ajax_output(self, changes):
-        output = super(self.__class__, self).get_ajax_output(changes)
-        updated = changes.get(IKeyNumberParagraph, ())
-        if 'renderer' in updated:
-            output.setdefault('events', []).append(
-                get_json_widget_refresh_event(self.context, self.request, KeyNumberParagraphInnerEditForm, 'renderer'))
-        return output