--- a/src/pyams_content/component/paragraph/portlet/__init__.py Mon Sep 24 16:17:34 2018 +0200
+++ b/src/pyams_content/component/paragraph/portlet/__init__.py Tue Sep 25 11:23:25 2018 +0200
@@ -22,18 +22,19 @@
# import packages
from pyams_content.component.paragraph import BaseParagraph
# import interfaces
-from pyams_content.component.paragraph.interfaces import IParagraphFactory, IParagraphContainerTarget, \
- IParagraphContainer
+from pyams_content.component.paragraph.interfaces import IParagraphContainer, IParagraphContainerTarget, \
+ IParagraphFactory
from pyams_content.component.paragraph.portlet.interfaces import IParagraphContainerPortletSettings, \
IParagraphNavigationPortletSettings
from pyams_i18n.interfaces import II18n
-from pyams_portal.portlet import PortletSettings, portlet_config, Portlet
+from pyams_portal.portlet import Portlet, PortletSettings, portlet_config
from pyams_utils.factory import factory_config
from pyams_utils.interfaces import VIEW_PERMISSION
from pyams_utils.registry import get_global_registry
from pyams_utils.request import check_request
from pyams_utils.traversing import get_parent
+
#
# Paragraphs container portlet
#
@@ -98,7 +99,6 @@
class ParagraphNavigationPortletSettings(PortletSettings):
"""Paragraph navigation portlet settings"""
- display_title = FieldProperty(IParagraphNavigationPortletSettings['display_title'])
paragraphs = FieldProperty(IParagraphNavigationPortletSettings['paragraphs'])
factories = FieldProperty(IParagraphNavigationPortletSettings['factories'])
anchors_only = FieldProperty(IParagraphNavigationPortletSettings['anchors_only'])
--- a/src/pyams_content/component/paragraph/portlet/interfaces/__init__.py Mon Sep 24 16:17:34 2018 +0200
+++ b/src/pyams_content/component/paragraph/portlet/interfaces/__init__.py Tue Sep 25 11:23:25 2018 +0200
@@ -16,7 +16,7 @@
# import standard library
# import packages
-from zope.schema import Bool, Set, Choice, List
+from zope.schema import Bool, Choice, List, Set
from pyams_content import _
# import interfaces
@@ -49,11 +49,6 @@
class IParagraphNavigationPortletSettings(IPortletSettings):
"""Paragraphs container navigation settings interface"""
- display_title = Bool(title=_("Display content title?"),
- description=_("If 'no', content's title will not be repeated into navigation portlet"),
- required=True,
- default=True)
-
paragraphs = List(title=_("Selected paragraphs"),
description=_("List of paragraphs selected for navigation; an empty selection means that "
"all paragraphs will be selectable by following filters; otherwise, "
--- a/src/pyams_content/component/paragraph/portlet/zmi/__init__.py Mon Sep 24 16:17:34 2018 +0200
+++ b/src/pyams_content/component/paragraph/portlet/zmi/__init__.py Tue Sep 25 11:23:25 2018 +0200
@@ -9,34 +9,28 @@
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
# FOR A PARTICULAR PURPOSE.
#
-from pyams_content.component.paragraph.portlet import IParagraphNavigationPortletSettings
__docformat__ = 'restructuredtext'
-
-# import standard library
-
-# import interfaces
-from pyams_content.component.paragraph.interfaces import IParagraphContainerTarget
-from pyams_content.component.paragraph.portlet.interfaces import IParagraphContainerPortletSettings
-from pyams_form.interfaces.form import IInnerTabForm
-from pyams_pagelet.interfaces import IPagelet
-from pyams_portal.interfaces import IPortletPreviewer
-from pyams_skin.layer import IPyAMSLayer
-from pyams_utils.interfaces import VIEW_SYSTEM_PERMISSION
-from pyams_utils.interfaces.data import IObjectData
-
-# import packages
-from pyams_form.form import AJAXEditForm
-from pyams_pagelet.pagelet import pagelet_config
-from pyams_portal.portlet import PortletPreviewer
-from pyams_portal.zmi.portlet import PortletSettingsEditor, PortletSettingsPropertiesEditor
-from pyams_template.template import template_config
-from pyams_utils.adapter import adapter_config
-from pyams_utils.traversing import get_parent
from zope.interface import Interface, alsoProvides
from pyams_content import _
+from pyams_content.component.paragraph.interfaces import IParagraphContainerTarget
+from pyams_content.component.paragraph.portlet import IParagraphNavigationPortletSettings
+from pyams_content.component.paragraph.portlet.interfaces import IParagraphContainerPortletSettings
+from pyams_form.form import AJAXEditForm
+from pyams_form.interfaces.form import IInnerTabForm
+from pyams_pagelet.interfaces import IPagelet
+from pyams_pagelet.pagelet import pagelet_config
+from pyams_portal.interfaces import IPortletPreviewer
+from pyams_portal.portlet import PortletPreviewer
+from pyams_portal.zmi.portlet import PortletSettingsEditor, PortletSettingsPropertiesEditor
+from pyams_skin.layer import IPyAMSLayer
+from pyams_template.template import template_config
+from pyams_utils.adapter import adapter_config
+from pyams_utils.interfaces import VIEW_SYSTEM_PERMISSION
+from pyams_utils.interfaces.data import IObjectData
+from pyams_utils.traversing import get_parent
#
--- a/src/pyams_content/component/paragraph/portlet/zmi/templates/navigation-preview.pt Mon Sep 24 16:17:34 2018 +0200
+++ b/src/pyams_content/component/paragraph/portlet/zmi/templates/navigation-preview.pt Tue Sep 25 11:23:25 2018 +0200
@@ -1,8 +1,4 @@
<tal:var define="settings view.settings" i18n:domain="pyams_content">
- <div class="padding-5">
- <i class="fa fa-fw fa-${'check-' if settings.display_title else ''}square-o"></i>
- <span i18n:translate="">Display content title</span>
- </div>
<div class="padding-5" tal:condition="settings.paragraphs">
<i class="fa fa-fw fa-${'check-' if settings.paragraphs else ''}square-o"></i>
<span i18n:translate="">Selected paragraphs: </span>
Binary file src/pyams_content/locales/fr/LC_MESSAGES/pyams_content.mo has changed
--- a/src/pyams_content/locales/fr/LC_MESSAGES/pyams_content.po Mon Sep 24 16:17:34 2018 +0200
+++ b/src/pyams_content/locales/fr/LC_MESSAGES/pyams_content.po Tue Sep 25 11:23:25 2018 +0200
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE 1.0\n"
-"POT-Creation-Date: 2018-09-24 16:10+0200\n"
+"POT-Creation-Date: 2018-09-25 11:21+0200\n"
"PO-Revision-Date: 2015-09-10 10:42+0200\n"
"Last-Translator: Thierry Florac <tflorac@ulthar.net>\n"
"Language-Team: French\n"
@@ -1008,46 +1008,42 @@
msgid "Content paragraphs"
msgstr "Blocs de contenu"
-#: src/pyams_content/component/paragraph/portlet/__init__.py:135
+#: src/pyams_content/component/paragraph/portlet/__init__.py:134
msgid "Paragraphs navigation anchors"
msgstr "Navigation au sein des blocs"
-#: src/pyams_content/component/paragraph/portlet/zmi/__init__.py:73
-#: src/pyams_content/component/paragraph/portlet/zmi/__init__.py:128
+#: src/pyams_content/component/paragraph/portlet/zmi/__init__.py:68
+#: src/pyams_content/component/paragraph/portlet/zmi/__init__.py:123
msgid "No filter, all paragraphs selected"
msgstr "Pas de filtre, tous les blocs sont acceptés"
-#: src/pyams_content/component/paragraph/portlet/zmi/__init__.py:80
-#: src/pyams_content/component/paragraph/portlet/zmi/__init__.py:135
+#: src/pyams_content/component/paragraph/portlet/zmi/__init__.py:75
+#: src/pyams_content/component/paragraph/portlet/zmi/__init__.py:130
msgid "No filter, all paragraph types selected"
msgstr "Pas de filtre, tous les types de blocs sont acceptés"
#: src/pyams_content/component/paragraph/portlet/zmi/templates/navigation-preview.pt:4
-msgid "Display content title"
-msgstr "Afficher le titre"
-
-#: src/pyams_content/component/paragraph/portlet/zmi/templates/navigation-preview.pt:8
#: src/pyams_content/component/paragraph/portlet/zmi/templates/container-preview.pt:4
msgid "Selected paragraphs:"
msgstr "Blocs sélectionnés :"
-#: src/pyams_content/component/paragraph/portlet/zmi/templates/navigation-preview.pt:14
+#: src/pyams_content/component/paragraph/portlet/zmi/templates/navigation-preview.pt:10
#: src/pyams_content/component/paragraph/portlet/zmi/templates/container-preview.pt:10
msgid "Paragraphs filters:"
msgstr "Filtrage des blocs :"
-#: src/pyams_content/component/paragraph/portlet/zmi/templates/navigation-preview.pt:17
+#: src/pyams_content/component/paragraph/portlet/zmi/templates/navigation-preview.pt:13
#: src/pyams_content/component/paragraph/portlet/zmi/templates/container-preview.pt:13
msgid "Selected paragraph types:"
msgstr "Types de blocs :"
-#: src/pyams_content/component/paragraph/portlet/zmi/templates/navigation-preview.pt:22
+#: src/pyams_content/component/paragraph/portlet/zmi/templates/navigation-preview.pt:18
#: src/pyams_content/component/paragraph/portlet/zmi/templates/container-preview.pt:18
msgid "Only display anchors"
msgstr "Ne sélectionner que les ancres"
#: src/pyams_content/component/paragraph/portlet/interfaces/__init__.py:30
-#: src/pyams_content/component/paragraph/portlet/interfaces/__init__.py:57
+#: src/pyams_content/component/paragraph/portlet/interfaces/__init__.py:52
msgid "Selected paragraphs"
msgstr "Blocs sélectionnés"
@@ -1063,7 +1059,7 @@
"pas appliqués"
#: src/pyams_content/component/paragraph/portlet/interfaces/__init__.py:37
-#: src/pyams_content/component/paragraph/portlet/interfaces/__init__.py:64
+#: src/pyams_content/component/paragraph/portlet/interfaces/__init__.py:59
msgid "Paragraph types"
msgstr "Types de blocs"
@@ -1076,7 +1072,7 @@
"est vide, tous les types de blocs seront pris en compte"
#: src/pyams_content/component/paragraph/portlet/interfaces/__init__.py:43
-#: src/pyams_content/component/paragraph/portlet/interfaces/__init__.py:70
+#: src/pyams_content/component/paragraph/portlet/interfaces/__init__.py:65
msgid "Anchors only?"
msgstr "Ancres seulement ?"
@@ -1086,17 +1082,7 @@
"Si 'oui', seuls les blocs définis comme ancres de navigation seront "
"sélectionnés"
-#: src/pyams_content/component/paragraph/portlet/interfaces/__init__.py:52
-msgid "Display content title?"
-msgstr "Afficher le titre ?"
-
#: src/pyams_content/component/paragraph/portlet/interfaces/__init__.py:53
-msgid "If 'no', content's title will not be repeated into navigation portlet"
-msgstr ""
-"Si 'non', le titre du gabarit ne sera pas répété dans le composant de "
-"navigation"
-
-#: src/pyams_content/component/paragraph/portlet/interfaces/__init__.py:58
msgid ""
"List of paragraphs selected for navigation; an empty selection means that "
"all paragraphs will be selectable by following filters; otherwise, this "
@@ -1107,7 +1093,7 @@
"dessous ; dans le cas contraire, cette sélection devient prioritaire et les "
"autres filtres ne sont pas appliqués"
-#: src/pyams_content/component/paragraph/portlet/interfaces/__init__.py:65
+#: src/pyams_content/component/paragraph/portlet/interfaces/__init__.py:60
msgid ""
"Select list of paragraph types you want to use for navigation; an empty "
"selection means that all paragraphs types will be selected"
@@ -1116,7 +1102,7 @@
"navigation ; si la sélection est vide, tous les types de blocs seront pris "
"en compte"
-#: src/pyams_content/component/paragraph/portlet/interfaces/__init__.py:71
+#: src/pyams_content/component/paragraph/portlet/interfaces/__init__.py:66
msgid "If 'no', all paragraphs will be used as navigation anchors"
msgstr ""
"Si 'non', tous les blocs seront utilisés comme liens de navigation même si "
@@ -3162,6 +3148,10 @@
msgid "This content is already retired and not visible."
msgstr "Ce contenu est déjà retiré et n'est plus visible des internautes."
+#: src/pyams_content/shared/common/portlet/title.py:39
+msgid "Content title"
+msgstr "Titre du gabarit"
+
#: src/pyams_content/shared/common/portlet/head.py:46
msgid "Content header"
msgstr "En-tête de gabarit"
@@ -5961,6 +5951,18 @@
msgid "Hidden header"
msgstr "Ne pas afficher d'en-tête de pages"
+#~ msgid "Display content title"
+#~ msgstr "Afficher le titre"
+
+#~ msgid "Display content title?"
+#~ msgstr "Afficher le titre ?"
+
+#~ msgid ""
+#~ "If 'no', content's title will not be repeated into navigation portlet"
+#~ msgstr ""
+#~ "Si 'non', le titre du gabarit ne sera pas répété dans le composant de "
+#~ "navigation"
+
#~ msgid "({0} medias)"
#~ msgstr "({0} médias dans la galerie)"
@@ -6235,9 +6237,6 @@
#~ msgid "Images data"
#~ msgstr "Image(s) à ajouter"
-#~ msgid "Content type"
-#~ msgstr "Type de contenu"
-
#~ msgid "A publication request has been submitted for content « {0} »"
#~ msgstr "Une demande de publication a été soumise pour le contenu « {0} »"
--- a/src/pyams_content/locales/pyams_content.pot Mon Sep 24 16:17:34 2018 +0200
+++ b/src/pyams_content/locales/pyams_content.pot Tue Sep 25 11:23:25 2018 +0200
@@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE 1.0\n"
-"POT-Creation-Date: 2018-09-24 16:10+0200\n"
+"POT-Creation-Date: 2018-09-25 11:21+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -966,46 +966,42 @@
msgid "Content paragraphs"
msgstr ""
-#: ./src/pyams_content/component/paragraph/portlet/__init__.py:135
+#: ./src/pyams_content/component/paragraph/portlet/__init__.py:134
msgid "Paragraphs navigation anchors"
msgstr ""
-#: ./src/pyams_content/component/paragraph/portlet/zmi/__init__.py:73
-#: ./src/pyams_content/component/paragraph/portlet/zmi/__init__.py:128
+#: ./src/pyams_content/component/paragraph/portlet/zmi/__init__.py:68
+#: ./src/pyams_content/component/paragraph/portlet/zmi/__init__.py:123
msgid "No filter, all paragraphs selected"
msgstr ""
-#: ./src/pyams_content/component/paragraph/portlet/zmi/__init__.py:80
-#: ./src/pyams_content/component/paragraph/portlet/zmi/__init__.py:135
+#: ./src/pyams_content/component/paragraph/portlet/zmi/__init__.py:75
+#: ./src/pyams_content/component/paragraph/portlet/zmi/__init__.py:130
msgid "No filter, all paragraph types selected"
msgstr ""
#: ./src/pyams_content/component/paragraph/portlet/zmi/templates/navigation-preview.pt:4
-msgid "Display content title"
-msgstr ""
-
-#: ./src/pyams_content/component/paragraph/portlet/zmi/templates/navigation-preview.pt:8
#: ./src/pyams_content/component/paragraph/portlet/zmi/templates/container-preview.pt:4
msgid "Selected paragraphs:"
msgstr ""
-#: ./src/pyams_content/component/paragraph/portlet/zmi/templates/navigation-preview.pt:14
+#: ./src/pyams_content/component/paragraph/portlet/zmi/templates/navigation-preview.pt:10
#: ./src/pyams_content/component/paragraph/portlet/zmi/templates/container-preview.pt:10
msgid "Paragraphs filters:"
msgstr ""
-#: ./src/pyams_content/component/paragraph/portlet/zmi/templates/navigation-preview.pt:17
+#: ./src/pyams_content/component/paragraph/portlet/zmi/templates/navigation-preview.pt:13
#: ./src/pyams_content/component/paragraph/portlet/zmi/templates/container-preview.pt:13
msgid "Selected paragraph types:"
msgstr ""
-#: ./src/pyams_content/component/paragraph/portlet/zmi/templates/navigation-preview.pt:22
+#: ./src/pyams_content/component/paragraph/portlet/zmi/templates/navigation-preview.pt:18
#: ./src/pyams_content/component/paragraph/portlet/zmi/templates/container-preview.pt:18
msgid "Only display anchors"
msgstr ""
#: ./src/pyams_content/component/paragraph/portlet/interfaces/__init__.py:30
-#: ./src/pyams_content/component/paragraph/portlet/interfaces/__init__.py:57
+#: ./src/pyams_content/component/paragraph/portlet/interfaces/__init__.py:52
msgid "Selected paragraphs"
msgstr ""
@@ -1017,7 +1013,7 @@
msgstr ""
#: ./src/pyams_content/component/paragraph/portlet/interfaces/__init__.py:37
-#: ./src/pyams_content/component/paragraph/portlet/interfaces/__init__.py:64
+#: ./src/pyams_content/component/paragraph/portlet/interfaces/__init__.py:59
msgid "Paragraph types"
msgstr ""
@@ -1028,7 +1024,7 @@
msgstr ""
#: ./src/pyams_content/component/paragraph/portlet/interfaces/__init__.py:43
-#: ./src/pyams_content/component/paragraph/portlet/interfaces/__init__.py:70
+#: ./src/pyams_content/component/paragraph/portlet/interfaces/__init__.py:65
msgid "Anchors only?"
msgstr ""
@@ -1036,28 +1032,20 @@
msgid "If 'yes', only paragraphs set as 'anchors' will be selected"
msgstr ""
-#: ./src/pyams_content/component/paragraph/portlet/interfaces/__init__.py:52
-msgid "Display content title?"
-msgstr ""
-
#: ./src/pyams_content/component/paragraph/portlet/interfaces/__init__.py:53
-msgid "If 'no', content's title will not be repeated into navigation portlet"
-msgstr ""
-
-#: ./src/pyams_content/component/paragraph/portlet/interfaces/__init__.py:58
msgid ""
"List of paragraphs selected for navigation; an empty selection means that all"
" paragraphs will be selectable by following filters; otherwise, this "
"selection will have priority"
msgstr ""
-#: ./src/pyams_content/component/paragraph/portlet/interfaces/__init__.py:65
+#: ./src/pyams_content/component/paragraph/portlet/interfaces/__init__.py:60
msgid ""
"Select list of paragraph types you want to use for navigation; an empty "
"selection means that all paragraphs types will be selected"
msgstr ""
-#: ./src/pyams_content/component/paragraph/portlet/interfaces/__init__.py:71
+#: ./src/pyams_content/component/paragraph/portlet/interfaces/__init__.py:66
msgid "If 'no', all paragraphs will be used as navigation anchors"
msgstr ""
@@ -2977,6 +2965,10 @@
msgid "This content is already retired and not visible."
msgstr ""
+#: ./src/pyams_content/shared/common/portlet/title.py:39
+msgid "Content title"
+msgstr ""
+
#: ./src/pyams_content/shared/common/portlet/head.py:46
msgid "Content header"
msgstr ""
--- a/src/pyams_content/shared/common/portlet/interfaces/__init__.py Mon Sep 24 16:17:34 2018 +0200
+++ b/src/pyams_content/shared/common/portlet/interfaces/__init__.py Tue Sep 25 11:23:25 2018 +0200
@@ -15,10 +15,9 @@
from zope.interface import Interface
from zope.schema import Bool
+from pyams_content import _
from pyams_portal.interfaces import IPortletSettings
-from pyams_content import _
-
class ISharedContentHeaderPortletSettings(IPortletSettings):
"""Shared content header portlet settings"""
@@ -47,3 +46,7 @@
class ISharedContentHeadViewletManager(Interface):
"""Shared content head viewlet manager marker interface"""
+
+
+class ISharedContentTitlePortletSettings(IPortletSettings):
+ """Shared content title portlet settings"""
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/pyams_content/shared/common/portlet/title.py Tue Sep 25 11:23:25 2018 +0200
@@ -0,0 +1,42 @@
+#
+# Copyright (c) 2008-2018 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'
+
+from zope.interface import implementer
+
+from pyams_content import _
+from pyams_content.shared.common.portlet.interfaces import ISharedContentTitlePortletSettings
+from pyams_portal.portlet import Portlet, PortletSettings, portlet_config
+from pyams_utils.factory import factory_config
+from pyams_utils.interfaces import VIEW_PERMISSION
+
+
+SHARED_CONTENT_TITLE_PORTLET_NAME = 'pyams_content.portlet.shared.title'
+
+
+@implementer(ISharedContentTitlePortletSettings)
+@factory_config(provided=ISharedContentTitlePortletSettings)
+class SharedContentTitlePortletSettings(PortletSettings):
+ """Shared content title portlet settings"""
+
+
+@portlet_config(permission=VIEW_PERMISSION)
+class SharedContentTitlePortlet(Portlet):
+ """Shared content title portlet"""
+
+ name = SHARED_CONTENT_TITLE_PORTLET_NAME
+ label = _("Content title")
+
+ toolbar_css_class = 'fa fa-fw fa-2x fa-bold'
+
+ settings_factory = ISharedContentTitlePortletSettings
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/pyams_content/shared/common/portlet/zmi/title.py Tue Sep 25 11:23:25 2018 +0200
@@ -0,0 +1,55 @@
+#
+# Copyright (c) 2008-2018 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'
+
+from zope.interface import Interface
+
+from pyams_content.shared.common.portlet.interfaces import ISharedContentTitlePortletSettings
+from pyams_form.form import AJAXEditForm
+from pyams_form.interfaces.form import IInnerTabForm
+from pyams_pagelet.interfaces import IPagelet
+from pyams_pagelet.pagelet import pagelet_config
+from pyams_portal.interfaces import IPortletPreviewer
+from pyams_portal.portlet import PortletPreviewer
+from pyams_portal.zmi.portlet import PortletSettingsEditor, PortletSettingsPropertiesEditor
+from pyams_skin.layer import IPyAMSLayer
+from pyams_template.template import template_config
+from pyams_utils.adapter import adapter_config
+from pyams_utils.interfaces import VIEW_SYSTEM_PERMISSION
+
+
+@pagelet_config(name='properties.html', context=ISharedContentTitlePortletSettings, layer=IPyAMSLayer,
+ permission=VIEW_SYSTEM_PERMISSION)
+class SharedContentTitlePortletSettingsEditor(PortletSettingsEditor):
+ """Shared content title portlet settings editor"""
+
+ settings = ISharedContentTitlePortletSettings
+
+
+@adapter_config(name='properties', context=(Interface, IPyAMSLayer, SharedContentTitlePortletSettingsEditor),
+ provides=IInnerTabForm)
+class SharedContentTitlePortletSettingsPropertiesEditor(PortletSettingsPropertiesEditor):
+ """Shared content title portlet settings properties editor"""
+
+
+@adapter_config(name='properties.json', context=(ISharedContentTitlePortletSettings, IPyAMSLayer),
+ provides=IPagelet)
+class SharedContentTitlePortletAJAXEditor(AJAXEditForm, SharedContentTitlePortletSettingsEditor):
+ """Shared content title portlet settings editor, JSON renderer"""
+
+
+@adapter_config(context=(Interface, IPyAMSLayer, Interface, ISharedContentTitlePortletSettings),
+ provides=IPortletPreviewer)
+@template_config(template='templates/title-preview.pt', layer=IPyAMSLayer)
+class SharedContentTitlePortletPreviewer(PortletPreviewer):
+ """Shared content title portlet previewer"""