src/pyams_content/component/paragraph/zmi/container.py
changeset 283 9139536eab90
parent 243 73b31fa70b8b
child 296 aaf2eac56470
--- a/src/pyams_content/component/paragraph/zmi/container.py	Sun Nov 26 09:50:28 2017 +0100
+++ b/src/pyams_content/component/paragraph/zmi/container.py	Sun Nov 26 09:51:48 2017 +0100
@@ -19,9 +19,10 @@
 # import interfaces
 from pyams_content.interfaces import MANAGE_CONTENT_PERMISSION
 from pyams_content.component.association.interfaces import IAssociationContainer
-from pyams_content.component.paragraph.interfaces import IParagraphContainerTarget, IParagraphContainer, IBaseParagraph
+from pyams_content.component.paragraph.interfaces import IParagraphContainerTarget, IParagraphContainer, IBaseParagraph, \
+    IParagraphFactorySettings
 from pyams_content.component.paragraph.zmi.interfaces import IParagraphInnerEditor, IParagraphTitleToolbar, \
-    IParagraphContainerTable, IParagraphsParentForm, IParagraphContainerView
+    IParagraphContainerTable, IParagraphContainerView
 from pyams_form.interfaces.form import IFormSecurityContext, IInnerSubForm
 from pyams_i18n.interfaces import II18n
 from pyams_skin.interfaces import IInnerPage, IPageHeader
@@ -43,12 +44,13 @@
 from pyams_skin.viewlet.menu import MenuItem
 from pyams_template.template import template_config
 from pyams_utils.adapter import adapter_config, ContextRequestViewAdapter, NullAdapter
+from pyams_utils.traversing import get_parent
 from pyams_utils.url import absolute_url
 from pyams_viewlet.manager import viewletmanager_config, WeightOrderedViewletManager, TemplateBasedViewletManager
 from pyramid.exceptions import NotFound
 from pyramid.view import view_config
 from pyams_viewlet.viewlet import viewlet_config, Viewlet
-from pyams_zmi.form import AdminDialogDisplayForm, InnerAdminDisplayForm
+from pyams_zmi.form import AdminDialogDisplayForm
 from pyams_zmi.view import AdminView, ContainerAdminView
 from pyramid.decorator import reify
 from z3c.form import field
@@ -113,7 +115,13 @@
     def render(self):
         if not self.values:
             translate = self.request.localizer.translate
-            return translate(_("No currently defined paragraph."))
+            message = translate(_("No currently defined paragraph."))
+            manager = get_parent(self.context, IParagraphFactorySettings)
+            if (manager is not None) and not manager.allowed_paragraphs:
+                message = '{0}<br />{1}'.format(message,
+                                                translate(_("Check allowed paragraph types to be able to create new "
+                                                            "paragraphs.")))
+            return message
         return super(ParagraphContainerBaseTable, self).render()