--- MPIWGWeb/MPIWGProjects.py 2011/05/20 13:49:39 1.47.2.122 +++ MPIWGWeb/MPIWGProjects.py 2012/01/13 10:01:28 1.47.2.127 @@ -43,6 +43,8 @@ import MPIWGRoot import MPIWGLink import MPIWGTemplate +import transaction + # die folgenden Klassen sind jetzt in einzelne Files ausgelagert aus Kompatibilitaetsgruenden, bleiben die Klassen hier noch drin. # Sonst funktionieren die alten Webseiten nicht mehr. @@ -237,6 +239,7 @@ class MPIWGProject(CatalogAware,Folder,C security=ClassSecurityInfo() meta_type='MPIWGProject' default_catalog='ProjectCatalog' + def redirect(self,RESPONSE,url): """mache ein redirect mit einem angehaengten time stamp um ein reload zu erzwingen""" @@ -759,6 +762,17 @@ class MPIWGProject(CatalogAware,Folder,C else: return 1 + def isActualForIndex(self): #isActual kann nicht indiziert werden, da intern fom ZCAtalog verwendete Funktion + """gibt 1 zurueck wenn aktuell, 0 sonst""" + actualTime=time.localtime() + + + #print getattr(self,'archiveTime',actualTime) + if getattr(self,'archiveTime',actualTime)< actualTime: + return 0 + else: + return 1 + def copyObjectToArchive(self): """kopiere aktuelles objekt ins archiv""" logging.info("copytoarchive 1") @@ -1031,20 +1045,31 @@ class MPIWGProject(CatalogAware,Folder,C return pt() - def harvest_page(self,context=None): + def harvest_page(self,context=None,mode="normal"): """seite fuer harvesting fuer die Projektsuche""" + if not context: context=self if self.isActiveProject() and self.isActual(): + templates = self.en.getHarvestCache() + ext=getattr(self,"harvest_main",None) if ext: - return getattr(self,ext.getId())() + rendered = getattr(self,ext.getId())() + templates[self.absolute_url()]=rendered + transaction.commit() + return rendered + pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','harvest_main')).__of__(context) - - - return pt() + + rendered = pt() + templates[self.absolute_url()]=rendered + transaction.commit() + return rendered + + def index_html(self,request=True,context=None): """show homepage"""