--- MPIWGWeb/MPIWGProjects.py 2005/05/26 14:37:50 1.47.2.3 +++ MPIWGWeb/MPIWGProjects.py 2005/06/08 20:13:17 1.47.2.12 @@ -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""" @@ -423,11 +449,13 @@ class MPIWGRoot(ZSQLExtendFolder): def getDisciplineList(self): """get disciplines as list""" - return self.disciplineList.split("\n") + list= self.disciplineList.split("\n") + return [x.rstrip().lstrip() for x in list] def getThemeList(self): """get themes as list""" - return self.themesList.split("\n") + list= self.themesList.split("\n") + return [x.rstrip().lstrip() for x in list] def test(self): """test""" @@ -618,7 +646,8 @@ 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 @@ -631,37 +660,46 @@ class MPIWGRoot(ZSQLExtendFolder): 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" @@ -1236,7 +1315,8 @@ class MPIWGProject(CatalogAware,Folder): else: splitted=list[0].split(";") - + splitted=[y.rstrip().lstrip() for y in splitted] + for x in splitted: if (not x==u'') and x in wert: return 1