--- MPIWGWeb/MPIWGProjects.py 2005/05/25 15:15:25 1.47.2.1 +++ MPIWGWeb/MPIWGProjects.py 2005/06/06 14:51:47 1.47.2.10 @@ -168,6 +168,23 @@ class MPIWGRoot(ZSQLExtendFolder): folders=['MPIWGProject','Folder','ECHO_Navigation'] meta_type='MPIWGRoot' + def getKategory(self,url): + """kategorie""" + splitted=url.split("/") + return splitted[4] + + 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 +202,16 @@ 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']) + subret=[] + for x in subs: + if not(x[1].title==""): + subret.append(x) + subret.sort(sortWeight) + return subret + else: + return None def isActive(self,name): """teste ob subnavigation aktiv""" for part in self.REQUEST['URL'].split("/"): @@ -396,14 +418,19 @@ class MPIWGRoot(ZSQLExtendFolder): def getProjectsByFieldContent(self,fieldName,fieldContentsEntry): """gib alle Projekte aus mit Value von field mit fieldName enthält ein Element der Liste fieldContents""" - if type(fieldContentsEntry) is StringType: + def sort(x,y): + return cmp(x.WEB_title[0],y.WEB_title[0]) + + if type(fieldContentsEntry) is StringType: fieldContents=[fieldContentsEntry] else: fieldContents=fieldContentsEntry projects=self.ProjectCatalog({fieldName:string.join(fieldContents,' OR')}) #print projects - return projects + ret=[x for x in projects] + ret.sort(sort) + return ret def changeMPIWGRootForm(self): """edit""" @@ -621,7 +648,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
\n""" + ret+="""
+
\n