--- MPIWGWeb/MPIWGProjects.py 2005/05/26 08:47:29 1.47.2.2 +++ MPIWGWeb/MPIWGProjects.py 2005/06/08 20:00:16 1.47.2.11 @@ -103,7 +103,7 @@ class MPIWGTemplate(ZopePageTemplate): return "aktiv" else: return "" - + def manage_addMPIWGTemplateForm(self): """Form for adding""" pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt/AddMPIWGTemplate.zpt')).__of__(self) @@ -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" @@ -187,8 +204,12 @@ class MPIWGRoot(ZSQLExtendFolder): return cmp(x1,y1) if hasattr(self,id): subs=self.ZopeFind(getattr(self,id),obj_metatypes=['MPIWGTemplate']) - subs.sort(sortWeight) - return subs + 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): @@ -397,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""" @@ -618,11 +644,56 @@ class MPIWGRoot(ZSQLExtendFolder): #title=project[0].WEB_title title=[project[0].getContent('WEB_title')] #print title - returnList.append((depth,nr,title,project[0])) + if idNr[0]!="x": + returnList.append((depth,nr,title,project[0])) 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+="""
""") + if len(splitted)>1: + tmp=splitted[1].split("
") + #return repr(splitted[1]) + try: + self.imageURL=tmp[0].split("\"")[1].encode('utf-8') + except: + self.imageURL=tmp[0].split("src=")[1].split(" ")[0].encode('utf-8') + + split2="".join(tmp[1:]) + + text3=splitted[0]+split2 + + splitted=text3.split("""""") + if len(splitted)>1: + tmp=splitted[1].split("
") + self.imagecap=tmp[0].encode('utf-8') + + split4="".join(tmp[1:]) + + text5=splitted[0]+split4 + else: + #keine caption + text5=text3 + else: + #kein bild + text5=text2 + else: + text5=text2 + #teste ob WEB_project_description und keine führenden p tags - if (len(text2)>4) and (not text2[0:3]=='') and (field=='WEB_project_description'): - return "
"+text2+"
" + if (len(text5)>4) and (not text5[0:3]=='') and (field=='WEB_project_description'): + text5= "
"+text5+"
" - return text2.encode('utf-8') - + #filter image + + + return text5.encode('utf-8') + + def showImagesOfPage(self,imageUrl=None): + """show Images of project""" + self.getContent('WEB_project_description',filter='yes') #get the content and store image infos into session + pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','projectImageView.zpt')).__of__(self) + return pt() + + def show_html(self): """simple index""" #return "HI"