# HG changeset patch # User Thierry Florac # Date 1536331205 -7200 # Node ID 2b31cde8c028f4bb8b3346e2a48adc7d73f0759b # Parent 814f7c5e04d12829fa6a26ff5044cb02e5376e97# Parent 8a7ec586dce12d2dfe9e32d622011d3a2d6b2386 Merge branch dev-dc diff -r 814f7c5e04d1 -r 2b31cde8c028 src/pyams_content/component/illustration/__init__.py --- a/src/pyams_content/component/illustration/__init__.py Thu Sep 06 17:43:49 2018 +0200 +++ b/src/pyams_content/component/illustration/__init__.py Fri Sep 07 16:40:05 2018 +0200 @@ -15,21 +15,28 @@ # import standard library +# import packages +from persistent import Persistent +from pyramid.events import subscriber +from pyramid.threadlocal import get_current_registry +from zope.container.contained import Contained +from zope.interface import implementer, alsoProvides +from zope.lifecycleevent import ObjectAddedEvent +from zope.lifecycleevent.interfaces import IObjectAddedEvent, IObjectModifiedEvent +from zope.location.interfaces import ISublocations +from zope.schema.fieldproperty import FieldProperty +from zope.traversing.interfaces import ITraversable + +from pyams_content import _ # import interfaces from pyams_content.component.illustration.interfaces import IIllustration, IIllustrationTarget, \ ILLUSTRATION_KEY, ILLUSTRATION_RENDERERS, IBasicIllustration, IBasicIllustrationTarget, BASIC_ILLUSTRATION_KEY, \ ILinkIllustrationTarget, LINK_ILLUSTRATION_KEY, ILinkIllustration +from pyams_content.features.checker import BaseContentChecker from pyams_content.features.checker.interfaces import IContentChecker, MISSING_VALUE, MISSING_LANG_VALUE +from pyams_content.features.renderer import RenderedContentMixin, RenderersVocabulary from pyams_file.interfaces import IFileInfo, IImage, IResponsiveImage from pyams_i18n.interfaces import INegotiator, II18n, II18nManager -from zope.lifecycleevent.interfaces import IObjectAddedEvent, IObjectModifiedEvent -from zope.location.interfaces import ISublocations -from zope.traversing.interfaces import ITraversable - -# import packages -from persistent import Persistent -from pyams_content.features.checker import BaseContentChecker -from pyams_content.features.renderer import RenderedContentMixin, RenderersVocabulary from pyams_i18n.property import I18nFileProperty from pyams_utils.adapter import adapter_config, ContextAdapter, get_annotation_adapter from pyams_utils.factory import factory_config @@ -37,14 +44,6 @@ from pyams_utils.request import check_request from pyams_utils.traversing import get_parent from pyams_utils.vocabulary import vocabulary_config -from pyramid.events import subscriber -from pyramid.threadlocal import get_current_registry -from zope.container.contained import Contained -from zope.interface import implementer, alsoProvides -from zope.lifecycleevent import ObjectCreatedEvent, ObjectAddedEvent -from zope.schema.fieldproperty import FieldProperty - -from pyams_content import _ @implementer(IBasicIllustration) @@ -52,9 +51,10 @@ class BasicIllustration(Persistent, Contained): """Illustration persistent class""" - _data = I18nFileProperty(IIllustration['data']) - title = FieldProperty(IIllustration['title']) - alt_title = FieldProperty(IIllustration['alt_title']) + _data = I18nFileProperty(IBasicIllustration['data']) + title = FieldProperty(IBasicIllustration['title']) + alt_title = FieldProperty(IBasicIllustration['alt_title']) + author = FieldProperty(IBasicIllustration['author']) @property def data(self): @@ -94,7 +94,6 @@ """Illustration persistent class""" description = FieldProperty(IIllustration['description']) - author = FieldProperty(IIllustration['author']) renderer = FieldProperty(IIllustration['renderer']) diff -r 814f7c5e04d1 -r 2b31cde8c028 src/pyams_content/component/illustration/interfaces/__init__.py --- a/src/pyams_content/component/illustration/interfaces/__init__.py Thu Sep 06 17:43:49 2018 +0200 +++ b/src/pyams_content/component/illustration/interfaces/__init__.py Fri Sep 07 16:40:05 2018 +0200 @@ -15,18 +15,16 @@ # import standard library -# import interfaces -from pyams_content.component.paragraph.interfaces import IBaseParagraph -from pyams_content.features.renderer.interfaces import IRenderedContent -from pyams_i18n.schema import I18nTextLineField, I18nTextField, I18nThumbnailMediaField from zope.annotation.interfaces import IAttributeAnnotatable - # import packages from zope.interface import Interface from zope.schema import Choice, TextLine from pyams_content import _ - +# import interfaces +from pyams_content.component.paragraph.interfaces import IBaseParagraph +from pyams_content.features.renderer.interfaces import IRenderedContent +from pyams_i18n.schema import I18nTextLineField, I18nTextField, I18nThumbnailMediaField # # Illustration @@ -57,6 +55,10 @@ description=_("Alternate title used to describe image content"), required=False) + author = TextLine(title=_("Author"), + description=_("Name of picture's author"), + required=False) + class IIllustration(IBasicIllustration, IRenderedContent): """Illustration paragraph""" @@ -65,10 +67,6 @@ description=_("Illustration description displayed in front-office templates"), required=False) - author = TextLine(title=_("Author"), - description=_("Name of picture's author"), - required=False) - renderer = Choice(title=_("Illustration template"), description=_("Presentation template used for illustration"), vocabulary=ILLUSTRATION_RENDERERS, diff -r 814f7c5e04d1 -r 2b31cde8c028 src/pyams_content/component/paragraph/interfaces/milestone.py --- a/src/pyams_content/component/paragraph/interfaces/milestone.py Thu Sep 06 17:43:49 2018 +0200 +++ b/src/pyams_content/component/paragraph/interfaces/milestone.py Fri Sep 07 16:40:05 2018 +0200 @@ -15,19 +15,17 @@ # import standard library -# import interfaces -from pyams_content.component.paragraph import IBaseParagraph -from pyams_content.interfaces.container import IOrderedContainer from zope.annotation.interfaces import IAttributeAnnotatable - -# import packages -from pyams_i18n.schema import I18nTextLineField from zope.container.constraints import containers, contains from zope.interface import Interface from zope.schema import Bool, Choice from pyams_content import _ - +# import interfaces +from pyams_content.component.paragraph import IBaseParagraph +from pyams_content.interfaces.container import IOrderedContainer +# import packages +from pyams_i18n.schema import I18nTextLineField, I18nTextField MILESTONE_CONTAINER_KEY = 'pyams_content.milestones' @@ -80,6 +78,10 @@ class IMilestoneParagraph(IMilestoneContainerTarget, IBaseParagraph): """Milestones paragraph interface""" + body = I18nTextField(title=_("Associated text"), + description=_("Additional text associated to this milestone Paragraph"), + required=False) + renderer = Choice(title=_("Milestones template"), description=_("Presentation template used for milestones"), vocabulary=MILESTONE_PARAGRAPH_RENDERERS, diff -r 814f7c5e04d1 -r 2b31cde8c028 src/pyams_content/component/paragraph/milestone.py --- a/src/pyams_content/component/paragraph/milestone.py Thu Sep 06 17:43:49 2018 +0200 +++ b/src/pyams_content/component/paragraph/milestone.py Fri Sep 07 16:40:05 2018 +0200 @@ -15,40 +15,38 @@ # import standard library from persistent import Persistent +from pyramid.events import subscriber +from zope.container.contained import Contained +from zope.container.ordered import OrderedContainer +from zope.interface import implementer +from zope.lifecycleevent import ObjectModifiedEvent +from zope.lifecycleevent.interfaces import IObjectAddedEvent, IObjectModifiedEvent, IObjectRemovedEvent +from zope.location import locate +from zope.location.interfaces import ISublocations +from zope.schema.fieldproperty import FieldProperty +from zope.traversing.interfaces import ITraversable +# import interfaces +from pyams_catalog.utils import index_object +from pyams_content import _ +from pyams_content.component.paragraph import BaseParagraph, BaseParagraphFactory, BaseParagraphContentChecker # import packages from pyams_content.component.paragraph.interfaces import IParagraphContainerTarget, IParagraphContainer, \ IParagraphFactory from pyams_content.component.paragraph.interfaces.milestone import IMilestone, IMilestoneContainer, \ IMilestoneContainerTarget, MILESTONE_CONTAINER_KEY, IMilestoneParagraph, MILESTONE_PARAGRAPH_TYPE, \ MILESTONE_PARAGRAPH_RENDERERS, MILESTONE_PARAGRAPH_NAME +from pyams_content.features.checker import BaseContentChecker from pyams_content.features.checker.interfaces import IContentChecker, MISSING_VALUE, MISSING_LANG_VALUE, ERROR_VALUE +from pyams_content.features.renderer import RenderersVocabulary from pyams_form.interfaces.form import IFormContextPermissionChecker from pyams_i18n.interfaces import II18n, II18nManager, INegotiator -from zope.lifecycleevent.interfaces import IObjectAddedEvent, IObjectModifiedEvent, IObjectRemovedEvent -from zope.location.interfaces import ISublocations -from zope.traversing.interfaces import ITraversable - -# import interfaces -from pyams_catalog.utils import index_object -from pyams_content.component.paragraph import BaseParagraph, BaseParagraphFactory, BaseParagraphContentChecker -from pyams_content.features.checker import BaseContentChecker -from pyams_content.features.renderer import RenderersVocabulary from pyams_utils.adapter import adapter_config, ContextAdapter, get_annotation_adapter from pyams_utils.factory import factory_config from pyams_utils.registry import get_current_registry, get_utility, utility_config from pyams_utils.request import check_request from pyams_utils.traversing import get_parent from pyams_utils.vocabulary import vocabulary_config -from pyramid.events import subscriber -from zope.container.contained import Contained -from zope.container.ordered import OrderedContainer -from zope.interface import implementer -from zope.lifecycleevent import ObjectCreatedEvent, ObjectModifiedEvent -from zope.location import locate -from zope.schema.fieldproperty import FieldProperty - -from pyams_content import _ # @@ -221,6 +219,7 @@ icon_class = 'fa-arrows-h' icon_hint = MILESTONE_PARAGRAPH_NAME + body = FieldProperty(IMilestoneParagraph['body']) renderer = FieldProperty(IMilestoneParagraph['renderer']) diff -r 814f7c5e04d1 -r 2b31cde8c028 src/pyams_content/component/paragraph/verbatim.py --- a/src/pyams_content/component/paragraph/verbatim.py Thu Sep 06 17:43:49 2018 +0200 +++ b/src/pyams_content/component/paragraph/verbatim.py Fri Sep 07 16:40:05 2018 +0200 @@ -15,31 +15,31 @@ # import standard library +from zope.interface import implementer +from zope.schema.fieldproperty import FieldProperty + # import interfaces -from pyams_content.component.illustration.interfaces import IIllustrationTarget +from pyams_content.component.illustration.interfaces import IBasicIllustrationTarget +# import packages +from pyams_content.component.paragraph import BaseParagraph, BaseParagraphContentChecker, BaseParagraphFactory from pyams_content.component.paragraph.interfaces import IParagraphFactory from pyams_content.component.paragraph.interfaces.verbatim import IVerbatimParagraph, VERBATIM_PARAGRAPH_TYPE, \ VERBATIM_PARAGRAPH_RENDERERS, VERBATIM_PARAGRAPH_NAME from pyams_content.features.checker.interfaces import IContentChecker, MISSING_VALUE, MISSING_LANG_VALUE +from pyams_content.features.renderer import RenderersVocabulary from pyams_i18n.interfaces import II18n, II18nManager, INegotiator - -# import packages -from pyams_content.component.paragraph import BaseParagraph, BaseParagraphContentChecker, BaseParagraphFactory -from pyams_content.features.renderer import RenderersVocabulary from pyams_utils.adapter import adapter_config from pyams_utils.factory import factory_config from pyams_utils.registry import utility_config, get_utility from pyams_utils.traversing import get_parent from pyams_utils.vocabulary import vocabulary_config -from zope.interface import implementer -from zope.schema.fieldproperty import FieldProperty # # Frame paragraph # -@implementer(IVerbatimParagraph, IIllustrationTarget) +@implementer(IVerbatimParagraph, IBasicIllustrationTarget) @factory_config(provided=IVerbatimParagraph) class VerbatimParagraph(BaseParagraph): """Verbatim paragraph""" diff -r 814f7c5e04d1 -r 2b31cde8c028 src/pyams_content/component/paragraph/zmi/milestone.py --- a/src/pyams_content/component/paragraph/zmi/milestone.py Thu Sep 06 17:43:49 2018 +0200 +++ b/src/pyams_content/component/paragraph/zmi/milestone.py Fri Sep 07 16:40:05 2018 +0200 @@ -16,34 +16,41 @@ # import standard library import json +from pyramid.decorator import reify +from pyramid.view import view_config +from z3c.form import field, button +from z3c.form.interfaces import INPUT_MODE +from z3c.table.column import GetAttrColumn +from z3c.table.interfaces import IValues, IColumn +from zope.interface import implementer, Interface +from zope.schema.vocabulary import getVocabularyRegistry + +from pyams_content import _ # import interfaces from pyams_content.component.paragraph.interfaces import IParagraphContainerTarget, IParagraphContainer, \ PARAGRAPH_HIDDEN_FIELDS from pyams_content.component.paragraph.interfaces.milestone import MILESTONE_PARAGRAPH_TYPE, IMilestoneParagraph, \ IMilestoneContainer, IMilestoneContainerTarget, IMilestone -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 z3c.form.interfaces import INPUT_MODE -from z3c.table.interfaces import IValues, IColumn - # import packages from pyams_content.component.paragraph.milestone import MilestoneParagraph, Milestone 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.shared.common import IWfSharedContent 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_switched_table_refresh_event, get_json_table_row_refresh_event, \ get_json_widget_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 @@ -52,14 +59,6 @@ from pyams_viewlet.viewlet import viewlet_config from pyams_zmi.form import AdminDialogAddForm, AdminDialogEditForm from pyams_zmi.zmi.table import InnerTableView -from pyramid.decorator import reify -from pyramid.view import view_config -from z3c.form import field, button -from z3c.table.column import GetAttrColumn -from zope.interface import implementer, Interface -from zope.schema.vocabulary import getVocabularyRegistry - -from pyams_content import _ class IMilestonesView(Interface): @@ -74,29 +73,29 @@ layer=IPyAMSLayer, manager=IToolbarAddingMenu, weight=600) class MilestoneParagraphAddMenu(BaseParagraphAddMenu): """Milestone paragraph add menu""" - + label = _("Milestones...") label_css_class = 'fa fa-fw fa-arrows-h' url = 'add-milestone-paragraph.html' paragraph_type = MILESTONE_PARAGRAPH_TYPE - - + + @pagelet_config(name='add-milestone-paragraph.html', context=IParagraphContainerTarget, layer=IPyAMSLayer, permission=MANAGE_CONTENT_PERMISSION) @ajax_config(name='add-milestone-paragraph.json', context=IParagraphContainerTarget, layer=IPyAMSLayer, base=BaseParagraphAJAXAddForm) class MilestoneParagraphAddForm(AdminDialogAddForm): """Milestone paragraph add form""" - + legend = _("Add new milestone paragraph") icon_css_class = 'fa fa-fw fa-arrows-h' - fields = field.Fields(IMilestoneParagraph).select('title', 'renderer') + fields = field.Fields(IMilestoneParagraph).omit(*PARAGRAPH_HIDDEN_FIELDS) edit_permission = MANAGE_CONTENT_PERMISSION def create(self, data): return MilestoneParagraph() - + def add(self, object): IParagraphContainer(self.context).append(object) @@ -118,7 +117,7 @@ legend = _("Edit milestone paragraph properties") icon_css_class = 'fa fa-fw fa-arrows-h' - fields = field.Fields(IMilestoneParagraph).select('title', 'renderer') + fields = field.Fields(IMilestoneParagraph).omit(*PARAGRAPH_HIDDEN_FIELDS) fields['renderer'].widgetFactory = RendererFieldWidget edit_permission = MANAGE_CONTENT_PERMISSION @@ -320,7 +319,7 @@ legend = _("Add new milestone") icon_css_class = 'fa fa-fw fa-arrow-h' - fields = field.Fields(IMilestone).omit(*PARAGRAPH_HIDDEN_FIELDS) + fields = field.Fields(IMilestone).omit('__parent__', '__name__', 'visible') edit_permission = MANAGE_CONTENT_PERMISSION def create(self, data): @@ -347,7 +346,7 @@ legend = _("Edit milestone properties") icon_css_class = 'fa fa-fw fa-arrows-h' - fields = field.Fields(IMilestone).omit(*PARAGRAPH_HIDDEN_FIELDS) + fields = field.Fields(IMilestone).omit('__parent__', '__name__', 'visible') edit_permission = MANAGE_CONTENT_PERMISSION def get_ajax_output(self, changes): diff -r 814f7c5e04d1 -r 2b31cde8c028 src/pyams_content/component/paragraph/zmi/pictogram.py --- 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