# HG changeset patch # User Thierry Florac # Date 1505134105 -7200 # Node ID 08237dfa6357a5999ac2545c724a9cfb996f5f10 # Parent ae2a738e3d237750fc07f1d3878bdcc5a55fb35f Updated dashboards columns diff -r ae2a738e3d23 -r 08237dfa6357 src/pyams_content/shared/common/zmi/dashboard.py --- a/src/pyams_content/shared/common/zmi/dashboard.py Mon Sep 11 14:47:59 2017 +0200 +++ b/src/pyams_content/shared/common/zmi/dashboard.py Mon Sep 11 14:48:25 2017 +0200 @@ -29,7 +29,7 @@ from pyams_skin.interfaces.container import ITableElementName from pyams_skin.layer import IPyAMSLayer from pyams_utils.interfaces import VIEW_SYSTEM_PERMISSION -from pyams_workflow.interfaces import IWorkflowState, IWorkflow, IWorkflowVersions +from pyams_workflow.interfaces import IWorkflowState, IWorkflow, IWorkflowVersions, IWorkflowPublicationInfo from pyams_zmi.interfaces.menu import IContentManagementMenu from pyams_zmi.layer import IAdminLayer from z3c.table.interfaces import IValues, IColumn @@ -129,23 +129,12 @@ """Shared tool dashboard sequence ID column""" _header = _("Unique ID") - weight = 14 + weight = 15 def getValue(self, obj): target = get_parent(obj, ISequentialIdTarget) sequence = get_utility(ISequentialIntIds, name=target.sequence_name) - return sequence.get_short_oid(ISequentialIdInfo(obj).oid, target.sequence_prefix) - - -@adapter_config(name='version', context=(Interface, IPyAMSLayer, ISharedToolDashboardTable), provides=IColumn) -class SharedToolDashboardVersionColumn(I18nColumn, GetAttrColumn): - """Shared tool dashboard version column""" - - _header = _("Version") - weight = 15 - - def getValue(self, obj): - return str(IWorkflowState(obj).version_id) + return sequence.get_base_oid(ISequentialIdInfo(obj).oid, target.sequence_prefix) @adapter_config(name='status', context=(Interface, IPyAMSLayer, ISharedToolDashboardTable), provides=IColumn) @@ -161,6 +150,13 @@ result = self.request.localizer.translate(workflow.get_state_label(state.state)) if state.state_urgency: result += ' ' + elif state.state in workflow.published_states: + pub_info = IWorkflowPublicationInfo(obj, None) + if (pub_info is not None) and not pub_info.is_published(): + translate = self.request.localizer.translate + result += ' '.format( + translate(_("Content publication start date is not passed yet"))) return result @@ -176,12 +172,23 @@ return format_datetime(state.state_date, SH_DATETIME_FORMAT, request=self.request) +@adapter_config(name='version', context=(Interface, IPyAMSLayer, ISharedToolDashboardTable), provides=IColumn) +class SharedToolDashboardVersionColumn(I18nColumn, GetAttrColumn): + """Shared tool dashboard version column""" + + _header = _("Version") + weight = 25 + + def getValue(self, obj): + return str(IWorkflowState(obj).version_id) + + @adapter_config(name='status_principal', context=(Interface, IPyAMSLayer, ISharedToolDashboardTable), provides=IColumn) class SharedToolDashboardStatusPrincipalColumn(I18nColumn, GetAttrColumn): """Shared tool dashboard status principal column""" _header = _("Status principal") - weight = 22 + weight = 30 def getValue(self, obj): state = IWorkflowState(obj) @@ -194,7 +201,7 @@ """Shared tool dashboard owner column""" _header = _("Owner") - weight = 30 + weight = 35 def getValue(self, obj): manager = get_utility(ISecurityManager) @@ -270,8 +277,6 @@ _single_title = _("MANAGER - {0} content waiting for your action") _plural_title = _("MANAGER - {0} contents waiting for your action") - dt_sort_order = 'asc' - @adapter_config(context=(ISharedTool, IPyAMSLayer, SharedToolDashboardManagerWaitingTable), provides=IValues) class SharedToolDashboardManagerWaitingValues(ContextRequestViewAdapter): @@ -939,3 +944,17 @@ return II18n(self.context).query_attribute('title', request=self.request) subtitle = _("Last updated contents") + + +# +# Advanced search access menu +# + +@viewlet_config(name='advanced-search.menu', context=ISharedTool, layer=IAdminLayer, + manager=IAllContentsMenu, permission=VIEW_SYSTEM_PERMISSION, weight=90) +class SharedToolAdvancedSearchMenu(MenuItem): + """Shared tool advanced search menu""" + + label = _("Advanced search") + icon_class = None + url = '#advanced-search.html'