--- a/src/pyams_content/component/paragraph/zmi/pictogram.py Thu Sep 06 17:43:49 2018 +0200
+++ b/src/pyams_content/component/paragraph/zmi/pictogram.py Fri Sep 07 16:40:05 2018 +0200
@@ -16,38 +16,44 @@
# import standard library
import json
+from pyramid.decorator import reify
+from pyramid.events import subscriber
+from pyramid.view import view_config
+from z3c.form import field, button
+from z3c.form.interfaces import INPUT_MODE, IDataExtractedEvent
+from z3c.table.column import GetAttrColumn
+from z3c.table.interfaces import IValues, IColumn
+from zope.interface import implementer, Interface, Invalid
+
+from pyams_content import _
+# import packages
+from pyams_content.component.paragraph import BaseParagraph
# import interfaces
from pyams_content.component.paragraph.interfaces import IParagraphContainerTarget, IParagraphContainer, \
PARAGRAPH_HIDDEN_FIELDS
from pyams_content.component.paragraph.interfaces.pictogram import PICTOGRAM_PARAGRAPH_TYPE, IPictogramParagraph, \
IPictogramContainer, IPictogramContainerTarget, IPictogramItem
-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, IInnerSubForm
-from pyams_i18n.interfaces import II18n
-from pyams_skin.interfaces.viewlet import IToolbarAddingMenu, IWidgetTitleViewletManager
-from pyams_skin.layer import IPyAMSLayer
-from pyams_zmi.interfaces import IPropertiesEditForm
-from z3c.form.interfaces import INPUT_MODE, IDataExtractedEvent
-from z3c.table.interfaces import IValues, IColumn
-
-# import packages
-from pyams_content.component.paragraph import BaseParagraph
from pyams_content.component.paragraph.pictogram import PictogramParagraph, PictogramItem
from pyams_content.component.paragraph.zmi import BaseParagraphAddMenu, BaseParagraphAJAXAddForm, \
BaseParagraphPropertiesEditForm, BaseParagraphAJAXEditForm
+from pyams_content.component.paragraph.zmi import IParagraphContainerView, IParagraphEditFormButtons
+from pyams_content.component.paragraph.zmi.interfaces import IParagraphInnerEditor
from pyams_content.features.renderer.zmi.widget import RendererFieldWidget
+from pyams_content.interfaces import MANAGE_CONTENT_PERMISSION
from pyams_content.reference.pictograms.zmi.widget import PictogramSelectFieldWidget
+from pyams_content.shared.common import IWfSharedContent
from pyams_file.zmi.image import render_image
from pyams_form.form import AJAXAddForm, ajax_config
+from pyams_form.interfaces.form import IInnerForm, IInnerSubForm
from pyams_form.security import ProtectedFormObjectMixin
from pyams_i18n.column import I18nAttrColumn
+from pyams_i18n.interfaces import II18n
from pyams_pagelet.pagelet import pagelet_config
from pyams_skin.container import switch_element_visibility
from pyams_skin.event import get_json_widget_refresh_event, get_json_switched_table_refresh_event, \
get_json_table_row_refresh_event
+from pyams_skin.interfaces.viewlet import IToolbarAddingMenu, IWidgetTitleViewletManager
+from pyams_skin.layer import IPyAMSLayer
from pyams_skin.table import BaseTable, SorterColumn, I18nColumn, TrashColumn, VisibilitySwitcherColumn
from pyams_skin.viewlet.toolbar import ToolbarAction
from pyams_utils.adapter import adapter_config, ContextRequestViewAdapter
@@ -56,15 +62,8 @@
from pyams_utils.url import absolute_url
from pyams_viewlet.viewlet import viewlet_config
from pyams_zmi.form import AdminDialogAddForm, AdminDialogEditForm
+from pyams_zmi.interfaces import IPropertiesEditForm
from pyams_zmi.zmi.table import InnerTableView
-from pyramid.decorator import reify
-from pyramid.events import subscriber
-from pyramid.view import view_config
-from z3c.form import field, button
-from z3c.table.column import GetAttrColumn
-from zope.interface import implementer, alsoProvides, Interface, Invalid
-
-from pyams_content import _
class IPictogramsView(Interface):
@@ -79,29 +78,29 @@
layer=IPyAMSLayer, manager=IToolbarAddingMenu, weight=600)
class PictogramParagraphAddMenu(BaseParagraphAddMenu):
"""Pictogram paragraph add menu"""
-
+
label = _("Pictograms...")
label_css_class = 'fa fa-fw fa-linode'
url = 'add-pictogram-paragraph.html'
paragraph_type = PICTOGRAM_PARAGRAPH_TYPE
-
-
+
+
@pagelet_config(name='add-pictogram-paragraph.html', context=IParagraphContainerTarget, layer=IPyAMSLayer,
permission=MANAGE_CONTENT_PERMISSION)
@ajax_config(name='add-pictogram-paragraph.json', context=IParagraphContainerTarget, layer=IPyAMSLayer,
base=BaseParagraphAJAXAddForm)
class PictogramParagraphAddForm(AdminDialogAddForm):
"""Pictogram paragraph add form"""
-
+
legend = _("Add new pictogram paragraph")
icon_css_class = 'fa fa-fw fa-linode'
-
- fields = field.Fields(IPictogramParagraph).select('title', 'renderer')
+
+ fields = field.Fields(IPictogramParagraph).omit(*PARAGRAPH_HIDDEN_FIELDS)
edit_permission = MANAGE_CONTENT_PERMISSION
-
+
def create(self, data):
return PictogramParagraph()
-
+
def add(self, object):
IParagraphContainer(self.context).append(object)
@@ -123,7 +122,7 @@
legend = _("Edit pictogram paragraph properties")
icon_css_class = 'fa fa-fw fa-linode'
- fields = field.Fields(IPictogramParagraph).select('title', 'renderer')
+ fields = field.Fields(IPictogramParagraph).omit(*PARAGRAPH_HIDDEN_FIELDS)
fields['renderer'].widgetFactory = RendererFieldWidget
edit_permission = MANAGE_CONTENT_PERMISSION
@@ -327,7 +326,7 @@
legend = _("Add new pictogram")
icon_css_class = 'fa fa-fw fa-arrow-h'
- fields = field.Fields(IPictogramItem).omit(*PARAGRAPH_HIDDEN_FIELDS)
+ fields = field.Fields(IPictogramItem).omit('__parent__', '__name__', 'visible')
fields['pictogram_name'].widgetFactory = PictogramSelectFieldWidget
edit_permission = MANAGE_CONTENT_PERMISSION
@@ -369,7 +368,7 @@
legend = _("Edit pictogram properties")
icon_css_class = 'fa fa-fw fa-linode'
- fields = field.Fields(IPictogramItem).omit(*PARAGRAPH_HIDDEN_FIELDS)
+ fields = field.Fields(IPictogramItem).omit('__parent__', '__name__', 'visible')
fields['pictogram_name'].widgetFactory = PictogramSelectFieldWidget
edit_permission = MANAGE_CONTENT_PERMISSION