--- MPIWGWeb/MPIWGProjects.py 2008/09/04 22:27:10 1.47.2.102 +++ MPIWGWeb/MPIWGProjects.py 2008/09/12 12:28:48 1.47.2.106 @@ -22,6 +22,7 @@ from OFS.Image import Image from AccessControl import ClassSecurityInfo from bibliography import * import time +from OFS.Cache import Cacheable #import xml.dom.minidom import sys #from Ft.Xml.XPath import Evaluate @@ -111,7 +112,7 @@ class MPIWGProject_image(Image): if RESPONSE: RESPONSE.redirect("../manageImages") -class MPIWGProject(CatalogAware,Folder): +class MPIWGProject(CatalogAware,Folder,Cacheable): """Class for Projects""" @@ -576,7 +577,7 @@ class MPIWGProject(CatalogAware,Folder): def isArchivedProject(self): """check if the project is archived""" - completed=getattr(self,'completedAt',0) + completed=self.getCompletedAt() #completed leer if completed=="" : @@ -613,6 +614,7 @@ class MPIWGProject(CatalogAware,Folder): return True; else: return False; + def getCompletedAt(self): """gibt das transformierte Datum zurueck, an dem das Projekt beendet wurde.""" date=getattr(self,'completedAt','') @@ -620,12 +622,14 @@ class MPIWGProject(CatalogAware,Folder): return self.reTransformDate(date); else: # test ob parent abgeschlossen ist - - ct=self.getContexts(parents=self.getContent('xdata_05'),depth=1) - if (len(ct)>0): #is there are parent + try: #TODO: ersetzte try except durch vernuenftige abfrage + ct=self.getContexts(parents=self.getContent('xdata_05'),depth=1) + if (len(ct)>0): #is there are parent - return ct[0][0].getCompletedAt() - return ''; + return ct[0][0].getCompletedAt() + return ''; + except: + return ''; def getStartedAt(self): """gibt das transformierte Datum zurŸck, an dem Projekt begonnen wurde.""" @@ -789,6 +793,12 @@ class MPIWGProject(CatalogAware,Folder): def getContent(self,field,filter=None): """Inhalt des Feldes""" + if field=="short_title": + text = self.getContent("xdata_07") + if text=="": + text = self.getContent("WEB_title") + return text + text=u'' for x in getattr(self,field): @@ -1113,7 +1123,7 @@ class MPIWGProject(CatalogAware,Folder): lastname=self.myCapitalize(lastname).encode('utf-8') logging.info("Search: %s %s %s"%(name,repr(firstname),repr(lastname))) try: - cataloggedNames=self.MembersCatalog({'firstName':firstname,'lastName':lastname}) + cataloggedNames=self.MembersCatalog(firstName=firstname,lastName=lastname) except: cataloggedNames=[] logging.error("ERROR: identifyNames %s %s"%sys.exc_info()[0:2])