# HG changeset patch
# User casties
# Date 1371635568 -7200
# Node ID 90d44df497a6c12d53f7868865855035e1632dfa
# Parent 9a09156eee7c268361f10271f33348525d036b11
updated breadcrumb handling, works for members now.
diff -r 9a09156eee7c -r 90d44df497a6 MPIWGHelper.py
--- a/MPIWGHelper.py Tue Jun 18 14:12:17 2013 +0200
+++ b/MPIWGHelper.py Wed Jun 19 11:52:48 2013 +0200
@@ -102,7 +102,8 @@
#
def getBreadcrumbs(self):
"""return list of breadcrumbs from here to the root"""
- crumbs = [(self.title, self.absolute_url(), self)]
+ #logging.debug("getBreadcrumbs of %s"%repr(self))
+ crumbs = [{'text':self.title, 'url':self.absolute_url(), 'object':self}]
parent = self.aq_parent
if hasattr(parent, 'getBreadcrumbs'):
if self.title:
@@ -118,7 +119,7 @@
"""returns the current section name"""
# use breadcrumbs if available
if crumbs is not None and len(crumbs) > 0:
- return crumbs[0][2].getId()
+ return crumbs[0]['object'].getId()
p = self
sec = None
@@ -133,7 +134,7 @@
"""returns the current subsection name"""
# use breadcrumbs if available
if crumbs is not None and len(crumbs) > 1:
- return crumbs[1][2].getId()
+ return crumbs[1]['object'].getId()
p = self
sec = None
diff -r 9a09156eee7c -r 90d44df497a6 MPIWGProjects.py
--- a/MPIWGProjects.py Tue Jun 18 14:12:17 2013 +0200
+++ b/MPIWGProjects.py Wed Jun 19 11:52:48 2013 +0200
@@ -1348,9 +1348,9 @@
# try to get acquisition URL from parent
if hasattr(parent, 'absolute_url'):
- baseUrl = "%s/%s/" % (parent.absolute_url(), 'projects')
+ baseUrl = "%s/%s" % (parent.absolute_url(), 'projects')
else:
- baseUrl = "/en/research/projects/"
+ baseUrl = "/en/research/projects"
# add in the internal project hierarchy
tree = self.getProjectTree()
@@ -1358,10 +1358,10 @@
# start with grandparents
for p in ap:
label = shortenString(p.getLabel(), 13)
- crumbs.append((label, p.getUrl(baseUrl=baseUrl), p))
+ crumbs.append({'text':label, 'url':p.getUrl(baseUrl=baseUrl), 'title':p.getLabel(), 'object':p})
# add this project
- crumbs.append((self.getLabel(), self.getUrl(baseUrl=baseUrl), self))
+ crumbs.append({'text':self.getLabel(), 'url':self.getUrl(baseUrl=baseUrl), 'title':self.getLabel(), 'object':self})
return crumbs
diff -r 9a09156eee7c -r 90d44df497a6 MPIWGStaff.py
--- a/MPIWGStaff.py Tue Jun 18 14:12:17 2013 +0200
+++ b/MPIWGStaff.py Wed Jun 19 11:52:48 2013 +0200
@@ -8,6 +8,7 @@
from zope.interface import implements
from zope.publisher.interfaces import IPublishTraverse
from ZPublisher.BaseRequest import DefaultPublishTraverse
+from Acquisition import aq_parent
from AccessControl import ClassSecurityInfo
from App.class_init import InitializeClass
@@ -764,6 +765,29 @@
# TODO: compat, is this used?
getStaffURL = getUsername
+
+ def getBreadcrumbs(self):
+ """return list of breadcrumbs from here to the root"""
+ crumbs = []
+ label = '%s %s'%(self.content.first_name, self.content.last_name)
+ baseUrl = None
+ parent = aq_parent(self)
+ # get parents breadcrumbs
+ if hasattr(parent, 'getBreadcrumbs'):
+ crumbs = parent.getBreadcrumbs()
+ if len(crumbs) > 0:
+ # get base url from crumbs
+ baseUrl = crumbs[-1]['url'] + '/members'
+
+ if baseUrl is None:
+ baseUrl = '/en/staff/members'
+
+ # add this
+ crumbs.append({'text':label, 'url':self.getUrl(baseUrl=baseUrl), 'object':self})
+
+ return crumbs
+
+
def getPublicationsFromPubman(self,limit=None,publicationType=None):
"""Return list of publications."""
if self.content.publications_mode=="year":
diff -r 9a09156eee7c -r 90d44df497a6 zpt/staff/member_index_html.zpt
--- a/zpt/staff/member_index_html.zpt Tue Jun 18 14:12:17 2013 +0200
+++ b/zpt/staff/member_index_html.zpt Wed Jun 19 11:52:48 2013 +0200
@@ -8,7 +8,8 @@