--- MPIWGWeb/MPIWGProjects.py 2008/08/27 12:12:48 1.47.2.91
+++ MPIWGWeb/MPIWGProjects.py 2008/08/28 19:24:47 1.47.2.93
@@ -39,7 +39,7 @@ import MPIWGRoot
import MPIWGLink
import MPIWGTemplate
-# die folgenden Klassen sind jetzt in einzelne Files ausgelagert aus KompatibilitŠtsgrŸnden, bleiben die Klassen hier noch drin.
+# die folgenden Klassen sind jetzt in einzelne Files ausgelagert aus Kompatibilitaetsgruenden, bleiben die Klassen hier noch drin.
# Sonst funktionieren die alten Webseiten nicht mehr.
class MPIWGRoot(MPIWGRoot.MPIWGRoot):
@@ -939,7 +939,7 @@ class MPIWGProject(CatalogAware,Folder):
if (text5=="
") or (text5=="
"):
text5=""
- logging.debug("getcontent: field=%s filter=%s -> %s"%(field,filter,repr(text5)))
+ #logging.debug("getcontent: field=%s filter=%s -> %s"%(field,filter,repr(text5)))
return unicodify(text5)
#return utf8ify(text5) # return as utf-8 byte string
@@ -1003,6 +1003,53 @@ class MPIWGProject(CatalogAware,Folder):
else:
return style
+ def getLabel(self):
+ """returns label (or title) of this project"""
+ l = self.getContent('xdata_07')
+ if l:
+ return l
+ l = self.getContent('WEB_title')
+ if l:
+ return l
+ return self.title
+
+ def getBreadcrumbs(self):
+ """return list of breadcrumbs from here to the root"""
+ crumbs = []
+ # skip direct parent Folder /projects/
+ parent = self.aq_parent.aq_parent
+ # get parents breadcrumbs
+ if hasattr(parent, 'getBreadcrumbs'):
+ crumbs = parent.getBreadcrumbs()
+
+ # try to get acquisition URL from parent
+ if hasattr(parent, 'absolute_url'):
+ baseUrl = "%s/%s/"%(parent.absolute_url(), 'projects')
+ else:
+ baseUrl = "/en/research/projects/"
+
+ # add in the internal project hierarchy
+ ct=self.getContexts(parents=self.getContent('xdata_05'))
+ # start with grandparents
+ ct.reverse()
+ for c in ct:
+ label = shortenString(c[0].getLabel(), 13)
+ crumbs.append((label, baseUrl+c[0].getId(), c[0]))
+
+ # add this project
+ crumbs.append((self.getLabel(), baseUrl+self.getId(), self))
+
+ return crumbs
+
+ def getRootProject(self):
+ """returns the current root (=top level) project"""
+ ct=self.getContexts(parents=self.getContent('xdata_05'))
+ if len(ct) > 0:
+ return ct[-1]
+ else:
+ return self
+
+
def preview(self,description):
"""preview"""
tmpPro=getattr(self,"previewTemplate",None)