--- MPIWGWeb/MPIWGProjects.py 2004/10/14 09:01:32 1.37 +++ MPIWGWeb/MPIWGProjects.py 2004/10/19 11:22:09 1.38 @@ -138,7 +138,7 @@ class MPIWGRoot(ZSQLExtendFolder): 'xdata_13':'Funding institutions','WEB_project_header':'WEB_project_header', 'WEB_project_description':'WEB_project_description','WEB_related_pub':'WEB_related_pub'} - folders=['MPIWGProject','Folder'] + folders=['MPIWGProject','Folder','ECHO_Navigation'] meta_type='MPIWGRoot' def upDateSQL(self,fileName): @@ -391,31 +391,24 @@ class MPIWGRoot(ZSQLExtendFolder): def getProjectFields(self,fieldName,folder=None,sort=None): """getListofFieldNames""" ret=[] - #print "FN",fieldName - if not folder: - folder=self - for object in folder.__dict__: - - obj=getattr(folder,object) - if hasattr(obj,'meta_type'): - #print obj.meta_type - if obj.meta_type=='MPIWGProject': - if fieldName=="WEB_title_or_short": - #print "HI!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" - #print len(obj.getContent('xdata_07')) - if len(obj.getContent('xdata_07'))<3: # hack weil z.Z. manchmal noch ein Trennzeichen ; oder , im Feld statt leer - fieldNameTmp="WEB_title" - else: - fieldNameTmp="xdata_07" - else: - fieldNameTmp=fieldName - - ret.append((obj,obj.getContent(fieldNameTmp))) + + objects=self.ZopeFind(self,obj_metatypes=['MPIWGProject'],search_sub=1) - if obj.meta_type in self.folders: + + for object in objects: + obj=object[1] + if fieldName=="WEB_title_or_short": + + if len(obj.getContent('xdata_07'))<3: # hack weil z.Z. manchmal noch ein Trennzeichen ; oder , im Feld statt leer + fieldNameTmp="WEB_title" + else: + fieldNameTmp="xdata_07" + else: + fieldNameTmp=fieldName - ret += self.getProjectFields(fieldName,obj) + ret.append((obj,obj.getContent(fieldNameTmp))) + if sort=="int": ret.sort(sortI) else: @@ -700,7 +693,8 @@ class MPIWGRoot(ZSQLExtendFolder): ret=[] splitNeu=[] if email: - members=self.ZopeFind(self.members,obj_metatypes=['MPIWGStaff'],obj_ids=[email]) + #print "IIII:",self.getId() + members=self.ZopeFind(self,obj_metatypes=['MPIWGStaff'],obj_ids=[email],search_sub=1) name = members[0][1].title.decode('utf-8') y=name @@ -838,6 +832,7 @@ class MPIWGProject(Folder): meta_type='MPIWGProject' + def crossLinker(self): """experimental crosslinker""" splitted=self.WEB_project_description[0].split() @@ -907,6 +902,7 @@ class MPIWGProject(Folder): pt=PageTemplateFile('Products/MPIWGWeb/zpt/project_main').__of__(self) return pt() + def getDataFields(self): """giveListofDatafields""" ret=[]