--- MPIWGWeb/MPIWGProjects.py 2008/09/03 11:13:44 1.47.2.98 +++ MPIWGWeb/MPIWGProjects.py 2008/09/03 21:52:14 1.47.2.100 @@ -962,7 +962,7 @@ class MPIWGProject(CatalogAware,Folder): return crumbs def getRootProject(self): - """returns the current root (=top level) project""" + """returns the root (=top level) project of the current project""" ct=self.getContexts(parents=self.getContent('xdata_05')) if len(ct) > 0: return ct[-1][0] @@ -1044,6 +1044,35 @@ class MPIWGProject(CatalogAware,Folder): splitted=[x.capitalize() for x in txt.split("-")] return "-".join(splitted) + def getNamesOrdered(self,list): + """Sortiert die Liste nach der Reihenfolge in xdata_01""" + + nameList=self.getContent('xdata_01') + if nameList.find(";")>-1: # rate Trenner ist ; + names=nameList.split(";") + else: + names=nameList.split(",") + + self._v_names=[] + for name in names: + self._v_names.append(name.rstrip().lstrip()) + + + def sort(x,y): + try: + return cmp(self._v_names.index(x[0]),self._v_names.index(y[0])) + except: + return 0 + + list.sort(sort) + + return list + + ##nameList=nameList.replace(";",",") # falls ; als Trenner ersetze + + + + def identifyNames(self,nameList): """Bekommt eine Komma oder Semikolon getrennte Liste mit Name der Form Vorname MittelName(n) Nachname und ordnet diese dann Mitarbeiter IDs zu falls es schone eine Liste gibt wird im Projekte gibt wird diese Upgedated. @@ -1093,6 +1122,7 @@ class MPIWGProject(CatalogAware,Folder): else: returnNamesDict[name]=[] + logging.error("id: %s"%repr(returnNamesDict)) return returnNamesDict def editMPIWGProject(self,RESPONSE=None,fromEdit=None):