--- MPIWGWeb/Attic/MPIWGRoot.py 2008/09/03 11:13:44 1.1.2.11 +++ MPIWGWeb/Attic/MPIWGRoot.py 2008/09/04 22:27:10 1.1.2.14 @@ -390,7 +390,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 +400,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() @@ -944,7 +954,7 @@ class MPIWGRoot(ZSQLExtendFolder): return cmp(x[0],y[0]) results=self.MembersCatalog({'isPublished':True}) - + ret=[(", ".join([proj.lastName, proj.firstName]).decode('utf-8'),proj.getKey) for proj in results] ret.sort(sorter) @@ -1175,13 +1185,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 "" @@ -1189,9 +1202,10 @@ class MPIWGRoot(ZSQLExtendFolder): """give tuple member /projects""" ret=[] members=self.getAllMembers() - + logging.error("X %s"%repr(members)) #return str(members) for x in members: + logging.error("X %s"%repr(x)) projects=self.getProjectsOfMember(key=x[1],date=date) if len(projects)>0: ret.append((x[0],projects)) @@ -1215,7 +1229,7 @@ class MPIWGRoot(ZSQLExtendFolder): ret=[] if key: - proj=self.ProjectCatalog({'getPersonKeyList':key}) + proj=self.ProjectCatalog({'getPersonKeyList':utf8ify(key)}) else: return ret # key muss definiert sein