--- MPIWGWeb/MPIWGProjects.py 2005/05/25 15:15:25 1.47.2.1 +++ MPIWGWeb/MPIWGProjects.py 2005/05/27 09:12:24 1.47.2.6 @@ -168,6 +168,18 @@ class MPIWGRoot(ZSQLExtendFolder): folders=['MPIWGProject','Folder','ECHO_Navigation'] meta_type='MPIWGRoot' + def generateUrlProject(self,url,project=None): + """erzeuge aus absoluter url, relative des Projektes""" + + splitted=url.split("/") + length=len(splitted) + short=splitted[length-2:length] + if project: + base=self.REQUEST['URL3']+"/"+"/".join(short) + else: + base=self.REQUEST['URL1']+"/"+"/".join(short) + return base + def isNewCapital(self,text=None,reset=None): if reset: self.REQUEST['capital']="A" @@ -185,11 +197,12 @@ class MPIWGRoot(ZSQLExtendFolder): x1=int(getattr(x[1],'weight','0')) y1=int(getattr(y[1],'weight','0')) return cmp(x1,y1) - - subs=self.ZopeFind(getattr(self,id),obj_metatypes=['MPIWGTemplate']) - subs.sort(sortWeight) - return subs - + if hasattr(self,id): + subs=self.ZopeFind(getattr(self,id),obj_metatypes=['MPIWGTemplate']) + subs.sort(sortWeight) + return subs + else: + return None def isActive(self,name): """teste ob subnavigation aktiv""" for part in self.REQUEST['URL'].split("/"): @@ -621,7 +634,48 @@ class MPIWGRoot(ZSQLExtendFolder): return returnList + def formatElementsAsList(self,elements): + """formatiere tree als liste""" + + actualDepth=0 + ret="" + for element in elements: + if (element[0]>actualDepth): + #fuege soviele ul ein wie unterschied in tiefe + if element[0]==1: + ret+="""
\n""" + else: + for i in range(element[0]-actualDepth): + ret+="\n