--- a/src/pyams_content/shared/common/zmi/__init__.py Wed Jul 01 14:10:50 2020 +0200
+++ b/src/pyams_content/shared/common/zmi/__init__.py Wed Jul 01 18:05:38 2020 +0200
@@ -24,8 +24,11 @@
from pyams_content.features.review.interfaces import IReviewComments
from pyams_content.interfaces import CREATE_CONTENT_PERMISSION, MANAGE_CONTENT_PERMISSION, \
MANAGE_SITE_ROOT_PERMISSION, PUBLISH_CONTENT_PERMISSION
+from pyams_content.shared.common import IDashboardTypeColumnValue
from pyams_content.shared.common.interfaces import IBaseSharedTool, IContributorRestrictions, \
IManagerRestrictions, ISharedContent, IWfSharedContent
+from pyams_content.shared.common.interfaces.types import IWfTypedSharedContent
+from pyams_content.shared.common.interfaces.zmi import IDashboardTable, ISiteRootDashboardTable
from pyams_form.form import AJAXAddForm, ajax_config
from pyams_form.interfaces.form import IFormContextPermissionChecker, IWidgetsPrefixViewletsManager
from pyams_form.schema import CloseButton
@@ -387,6 +390,34 @@
# Custom columns mixins
#
+@adapter_config(context=(IWfSharedContent, IPyAMSLayer, IDashboardTable),
+ provides=IDashboardTypeColumnValue)
+def typed_shared_content_tool_dashboard_type_adapter(context, request, view):
+ """Typed shared content dashboard type column adapter"""
+ content = IWfTypedSharedContent(context, None)
+ if content is not None:
+ data_type = content.get_data_type()
+ if data_type is not None:
+ return II18n(data_type).query_attribute('navigation_label', request=request) or \
+ II18n(data_type).query_attribute('label', request=request)
+
+
+@adapter_config(context=(IWfSharedContent, IPyAMSLayer, ISiteRootDashboardTable),
+ provides=IDashboardTypeColumnValue)
+def typed_shared_content_root_dashboard_type_adapter(context, request, view):
+ """Typed shared content root dashboard type column adapter"""
+ result = request.localizer.translate(context.content_name)
+ content = IWfTypedSharedContent(context, None)
+ if content is not None:
+ data_type = content.get_data_type()
+ if data_type is not None:
+ result = '{} ({})'.format(
+ result,
+ II18n(data_type).query_attribute('navigation_label', request=request) or
+ II18n(data_type).query_attribute('label', request=request))
+ return result
+
+
class WfModifiedContentColumnMixin(object):
"""Shared content modified column mixin"""
@@ -398,7 +429,7 @@
item_dc = IZopeDublinCore(item)
if item_dc.modified and (item_dc.modified > IZopeDublinCore(content).created):
translate = self.request.localizer.translate
- value += '<i class="fa fa-fw fa-circle txt-color-orange hint align-middle padding-left-5" ' \
- 'title="{0}" data-ams-hint-gravity="w"></i>'.format(
+ value += '<i class="fa fa-fw fa-circle txt-color-orange hint align-middle ' \
+ 'padding-left-5" title="{0}" data-ams-hint-gravity="w"></i>'.format(
translate(_("Created or modified in this version")))
return value