src/pyams_content/root/zmi/__init__.py
changeset 714 dd257ef7fcaa
parent 463 6c21f1502836
child 759 780d6776a857
--- a/src/pyams_content/root/zmi/__init__.py	Wed Jun 20 08:24:53 2018 +0200
+++ b/src/pyams_content/root/zmi/__init__.py	Wed Jun 20 08:25:29 2018 +0200
@@ -25,7 +25,8 @@
 from pyams_content.skin.zmi.interfaces import IDashboardMenu, IMyDashboardMenu, IAllContentsMenu
 from pyams_i18n.interfaces import II18n
 from pyams_skin.interfaces import IInnerPage, IPageHeader
-from pyams_skin.interfaces.configuration import IBackOfficeConfiguration
+from pyams_skin.interfaces.configuration import IBackOfficeConfiguration, IConfiguration
+from pyams_skin.interfaces.container import ITableElementName, ITableElementEditor
 from pyams_skin.interfaces.viewlet import IBreadcrumbItem
 from pyams_skin.layer import IPyAMSLayer
 from pyams_utils.interfaces import VIEW_SYSTEM_PERMISSION
@@ -45,11 +46,11 @@
 from pyams_pagelet.pagelet import pagelet_config
 from pyams_skin.container import ContainerView
 from pyams_skin.page import DefaultPageHeaderAdapter
-from pyams_skin.table import I18nColumn
+from pyams_skin.table import I18nColumn, DefaultElementEditorAdapter
 from pyams_skin.viewlet.breadcrumb import BreadcrumbItem
 from pyams_skin.viewlet.menu import MenuItem
 from pyams_template.template import template_config
-from pyams_utils.adapter import adapter_config, ContextRequestViewAdapter
+from pyams_utils.adapter import adapter_config, ContextRequestViewAdapter, ContextRequestAdapter
 from pyams_utils.list import unique
 from pyams_utils.registry import get_utility, get_all_utilities_registered_for
 from pyams_viewlet.manager import viewletmanager_config
@@ -77,6 +78,24 @@
     label = _("Home")
 
 
+@adapter_config(context=(ISiteRoot, IPyAMSLayer), provides=ITableElementName)
+class SiteRootTableElementNameAdapter(ContextRequestAdapter):
+    """Site root table element name adapter"""
+
+    @property
+    def name(self):
+        configuration = IConfiguration(self.context)
+        return II18n(configuration).query_attribute('short_title', request=self.request)
+
+
+@adapter_config(context=(ISiteRoot, IAdminLayer, Interface), provides=ITableElementEditor)
+class SiteRootTableElementEditorAdapter(DefaultElementEditorAdapter):
+    """Site root table element editor adapter"""
+
+    view_name = 'admin#site-tree.html'
+    modal_target = False
+
+
 #
 # Main dashboard menu
 #
@@ -800,4 +819,7 @@
     weight = 1
 
     def getValue(self, obj):
-        return self.request.localizer.translate(obj.content_name)
+        try:
+            return self.request.localizer.translate(obj.content_name)
+        except AttributeError:
+            return '--'