src/pyams_workflow/content.py
changeset 19 31bee5428853
parent 17 21b836971c56
child 30 d1fbec754b21
--- a/src/pyams_workflow/content.py	Thu Oct 08 11:39:33 2015 +0200
+++ b/src/pyams_workflow/content.py	Tue Jan 19 10:27:09 2016 +0100
@@ -17,6 +17,7 @@
 from datetime import datetime
 
 # import interfaces
+from pyams_security.interfaces import ISecurityManager
 from pyams_workflow.interfaces import IWorkflowManagedContent, IWorkflowPublicationInfo, IWorkflow, IWorkflowVersions, \
     IWorkflowPublicationSupport, IObjectClonedEvent, IWorkflowState
 from zope.annotation.interfaces import IAnnotations
@@ -24,9 +25,10 @@
 # import packages
 from persistent import Persistent
 from pyams_utils.adapter import adapter_config
-from pyams_utils.registry import query_utility
+from pyams_utils.date import format_datetime
+from pyams_utils.registry import get_utility, query_utility
 from pyams_utils.request import check_request
-from pyams_utils.timezone import gmtime
+from pyams_utils.timezone import gmtime, tztime
 from pyams_utils.traversing import get_parent
 from pyams_workflow.versions import WorkflowHistoryItem
 from pyramid.events import subscriber
@@ -45,6 +47,7 @@
     """Workflow content info"""
 
     _publication_date = FieldProperty(IWorkflowPublicationInfo['publication_date'])
+    publisher = FieldProperty(IWorkflowPublicationInfo['publisher'])
     _first_publication_date = FieldProperty(IWorkflowPublicationInfo['first_publication_date'])
     _publication_effective_date = FieldProperty(IWorkflowPublicationInfo['publication_effective_date'])
     _publication_expiration_date = FieldProperty(IWorkflowPublicationInfo['publication_expiration_date'])
@@ -58,6 +61,15 @@
         self._publication_date = gmtime(value)
 
     @property
+    def publication(self):
+        request = check_request()
+        translate = request.localizer.translate
+        auth = get_utility(ISecurityManager)
+        return translate(_('{date} by {principal}')).format(
+            date=format_datetime(tztime(IWorkflowPublicationInfo(self).publication_date), request=request),
+            principal=translate(auth.get_principal(self.publisher).title))
+
+    @property
     def first_publication_date(self):
         return self._first_publication_date