--- MPIWGWeb/Attic/MPIWGRoot.py 2008/09/03 15:12:57 1.1.2.12 +++ MPIWGWeb/Attic/MPIWGRoot.py 2008/09/07 17:13:32 1.1.2.17 @@ -40,6 +40,8 @@ def sortWeight(x,y): class MPIWGRoot(ZSQLExtendFolder): """Stammordner fuer den Web-Server""" + meta_type='MPIWGRoot' + fieldLabels={'WEB_title':'WEB_Title', 'xdata_01':'Responsible Scientists', 'xdata_02':'Department', @@ -59,7 +61,9 @@ class MPIWGRoot(ZSQLExtendFolder): 'WEB_related_pub':'WEB_related_pub'} folders=['MPIWGProject','Folder','ECHO_Navigation'] - meta_type='MPIWGRoot' + + # types of objects that show up in navigation + nav_meta_types = ['MPIWGTemplate','MPIWGLink','MPIWGFolder'] def getGetNeighbourhood(self,obj, wordStr, length=100,tagging=True): """finde umgebung um die worte in wordStr, zurueckgegeben wird eine Array mit den Umgebungen von Fundstellen der Worte @@ -324,11 +328,6 @@ class MPIWGRoot(ZSQLExtendFolder): def subNavStatic(self,obj): """subnav" von self""" - def sortWeight(x,y): - x1=int(getattr(x[1],'weight','0')) - y1=int(getattr(y[1],'weight','0')) - return cmp(x1,y1) - subs=self.ZopeFind(obj,obj_metatypes=['MPIWGTemplate','MPIWGLink']) subret=[] @@ -340,10 +339,6 @@ class MPIWGRoot(ZSQLExtendFolder): def subNav(self,obj): """return subnav elemente""" - def sortWeight(x,y): - x1=int(getattr(x[1],'weight','0')) - y1=int(getattr(y[1],'weight','0')) - return cmp(x1,y1) #if obj.meta_type in ['MPIWGTemplate','MPIWGLink']: # id=obj.aq_parent.getId() #else: @@ -362,7 +357,7 @@ class MPIWGRoot(ZSQLExtendFolder): if hasattr(self,obj.getId()): - subs=self.ZopeFind(getattr(self,obj.getId()),obj_metatypes=['MPIWGTemplate','MPIWGLink']) + subs=self.ZopeFind(getattr(self,obj.getId()),obj_metatypes=self.nav_meta_types) subret=[] for x in subs: @@ -390,7 +385,8 @@ class MPIWGRoot(ZSQLExtendFolder): secs = self.objectItems(['MPIWGFolder']) secs.sort(sortWeight) #logging.debug("root: %s secs: %s"%(repr(self.absolute_url()), repr(secs))) - return secs + # return pure list of objects + return [s[1] for s in secs] def getSectionStyle(self, name, style=""): """returns a string with the given style + '-sel' if the current section == name""" @@ -399,6 +395,15 @@ class MPIWGRoot(ZSQLExtendFolder): else: return style + def getFeatures(self): + """returns a list of all Features""" + dir = getattr(self, 'features') + features = dir.objectItems(['MPIWGFeature']) + features.sort(sortWeight) + # return pure list of objects + return [f[1] for f in features] + + def MPIWGrootURL(self): """returns the URL to the root""" return self.absolute_url() @@ -974,7 +979,7 @@ class MPIWGRoot(ZSQLExtendFolder): """ for obj in self.getTree(dep, date, onlyActive, onlyArchived): - linkStr="""http://wwwneu.mpiwg-berlin.mpg.de/en/research/projects/%s""" + linkStr="""http://www.mpiwg-berlin.mpg.de/en/research/projects/%s""" rss+="""""" rss+=linkStr%obj[3].getId() rss+="""""" @@ -1175,13 +1180,16 @@ class MPIWGRoot(ZSQLExtendFolder): if key=="": return "" - key=utf8ify(key) - catalogged=self.MembersCatalog({'getKey':key}) - if len(catalogged)==0: - return "" - else: - return catalogged[0].getObject().getId() + try: + key=utf8ify(key) + catalogged=self.MembersCatalog({'getKey':key}) + if len(catalogged)==0: + return "" + else: + return catalogged[0].getObject().getId() + except: + return ""