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 datetime import date, datetime
|
||||||
from zope.app.pagetemplate import ViewPageTemplateFile
|
from zope.app.pagetemplate import ViewPageTemplateFile
|
||||||
|
from zope.app.security.interfaces import IAuthentication, PrincipalLookupError
|
||||||
from zope.cachedescriptors.property import Lazy
|
from zope.cachedescriptors.property import Lazy
|
||||||
from zope.traversing.browser import absoluteURL
|
from zope.traversing.browser import absoluteURL
|
||||||
from zope.traversing.api import getName
|
from zope.traversing.api import getName
|
||||||
|
@ -158,6 +159,10 @@ class TrackDetails(object):
|
||||||
self.view = view
|
self.view = view
|
||||||
self.track = track
|
self.track = track
|
||||||
|
|
||||||
|
@Lazy
|
||||||
|
def authentication(self):
|
||||||
|
return component.getUtility(IAuthentication)
|
||||||
|
|
||||||
@Lazy
|
@Lazy
|
||||||
def object(self):
|
def object(self):
|
||||||
obj = util.getObjectForUid(self.track.taskId)
|
obj = util.getObjectForUid(self.track.taskId)
|
||||||
|
@ -169,7 +174,11 @@ class TrackDetails(object):
|
||||||
def user(self):
|
def user(self):
|
||||||
obj = util.getObjectForUid(self.track.userName)
|
obj = util.getObjectForUid(self.track.userName)
|
||||||
if obj is None:
|
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
|
node = self.view.nodeView
|
||||||
url = node is not None and node.getUrlForTarget(obj) or ''
|
url = node is not None and node.getUrlForTarget(obj) or ''
|
||||||
return dict(object=obj, title=obj.title, url=url)
|
return dict(object=obj, title=obj.title, url=url)
|
||||||
|
|
Loading…
Add table
Reference in a new issue