provide principal.title if no person available
git-svn-id: svn://svn.cy55.de/Zope3/src/loops/trunk@3041 fd906abe-77d9-0310-91a1-e0d9ade77398
This commit is contained in:
parent
2e3f0b8e9c
commit
d086529b05
1 changed files with 10 additions and 1 deletions
|
@ -24,6 +24,7 @@ $Id$
|
|||
|
||||
from datetime import date, datetime
|
||||
from zope.app.pagetemplate import ViewPageTemplateFile
|
||||
from zope.app.security.interfaces import IAuthentication, PrincipalLookupError
|
||||
from zope.cachedescriptors.property import Lazy
|
||||
from zope.traversing.browser import absoluteURL
|
||||
from zope.traversing.api import getName
|
||||
|
@ -158,6 +159,10 @@ class TrackDetails(object):
|
|||
self.view = view
|
||||
self.track = track
|
||||
|
||||
@Lazy
|
||||
def authentication(self):
|
||||
return component.getUtility(IAuthentication)
|
||||
|
||||
@Lazy
|
||||
def object(self):
|
||||
obj = util.getObjectForUid(self.track.taskId)
|
||||
|
@ -169,7 +174,11 @@ class TrackDetails(object):
|
|||
def user(self):
|
||||
obj = util.getObjectForUid(self.track.userName)
|
||||
if obj is None:
|
||||
return dict(object=None, title=self.track.userName, url='')
|
||||
try:
|
||||
userTitle = self.authentication.getPrincipal(userName)
|
||||
except PrincipalLookupError:
|
||||
userTitle = self.track.userName
|
||||
return dict(object=None, title=userTitle, url='')
|
||||
node = self.view.nodeView
|
||||
url = node is not None and node.getUrlForTarget(obj) or ''
|
||||
return dict(object=obj, title=obj.title, url=url)
|
||||
|
|
Loading…
Add table
Reference in a new issue