--- MPIWGWeb/MPIWGProjects.py 2008/09/03 21:16:40 1.47.2.99 +++ MPIWGWeb/MPIWGProjects.py 2008/09/04 22:27:10 1.47.2.102 @@ -369,7 +369,10 @@ class MPIWGProject(CatalogAware,Folder): def deleteImage(self,id,RESPONSE=None): """delete Image id""" - self.manage_delObjects([id]) + try: + self.manage_delObjects([id]) + except: + logging.error("ERROR MPIWG: %s %s"%sys.exc_info()[0:2]) if RESPONSE: RESPONSE.redirect('manageImages') @@ -756,10 +759,11 @@ class MPIWGProject(CatalogAware,Folder): self.REQUEST.SESSION['MPI_redirected']=None #ext=self.ZopeFind(self.aq_parent,obj_ids=["project_main"]) + ext=getattr(self,"project_main",None) if ext: return getattr(self,ext.getId())() - + pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','project_main')).__of__(context) return pt() @@ -804,11 +808,14 @@ class MPIWGProject(CatalogAware,Folder): except: pass - if text=='': + if text=='': ## wozu die folgenden Zeilen?? text2=text else: text2=re.sub(r';([^\s])','; \g<1>',text) + if field=="WEB_project_description":##Jedenfalls darf letzteres nicht gemacht werden, falls normaler text + text2=text + #teste ob ergebnis leer und header dann nehme title if (text2=='') and (field=='WEB_project_header'): @@ -891,14 +898,14 @@ class MPIWGProject(CatalogAware,Folder): start=kupu.find("") end=kupu.find("") newcontent= kupu[start+6:end] - + if preview: return self.preview(newcontent) self.copyObjectToArchive() self.WEB_project_description=newcontent[0:] - + self.REQUEST.RESPONSE.redirect("./index.html") return True @@ -1044,6 +1051,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 +1129,7 @@ class MPIWGProject(CatalogAware,Folder): else: returnNamesDict[name]=[] + logging.error("id: %s"%repr(returnNamesDict)) return returnNamesDict def editMPIWGProject(self,RESPONSE=None,fromEdit=None):