get principal title if person not present
git-svn-id: svn://svn.cy55.de/Zope3/src/loops/trunk@3054 fd906abe-77d9-0310-91a1-e0d9ade77398
This commit is contained in:
parent
4729f0ef5c
commit
0381c7577e
2 changed files with 12 additions and 4 deletions
|
@ -59,8 +59,7 @@
|
|||
for="loops.interfaces.ILoopsObject
|
||||
zope.publisher.interfaces.browser.IBrowserRequest"
|
||||
factory="loops.organize.memberinfo.MemberInfoProvider"
|
||||
permission="zope.Public"
|
||||
/>
|
||||
permission="zope.Public" />
|
||||
|
||||
<zope:adapter factory="loops.organize.setup.SetupManager"
|
||||
name="organize" />
|
||||
|
|
|
@ -22,6 +22,8 @@ View class(es) for change tracks.
|
|||
$Id$
|
||||
"""
|
||||
|
||||
from zope import component
|
||||
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
|
||||
|
@ -57,13 +59,20 @@ class BaseTrackView(TrackView):
|
|||
obj = util.getObjectForUid(uid)
|
||||
if obj is not None:
|
||||
return obj
|
||||
return uid
|
||||
try:
|
||||
return self.authentication.getPrincipal(uid) or uid
|
||||
except PrincipalLookupError:
|
||||
return uid
|
||||
|
||||
@Lazy
|
||||
def authentication(self):
|
||||
return component.getUtility(IAuthentication)
|
||||
|
||||
@Lazy
|
||||
def userTitle(self):
|
||||
if isinstance(self.user, basestring):
|
||||
return self.user
|
||||
return getattr(self.user, 'title', getName(self.user))
|
||||
return self.user.title
|
||||
|
||||
@Lazy
|
||||
def userUrl(self):
|
||||
|
|
Loading…
Add table
Reference in a new issue