--- MPIWGWeb/MPIWGStaff.py 2008/08/25 12:49:49 1.10.2.48 +++ MPIWGWeb/MPIWGStaff.py 2008/08/28 18:20:09 1.10.2.53 @@ -13,13 +13,14 @@ from Products.versionedFile.extVersioned import os import logging import bibliography +import email from Globals import package_home from Products.PythonScripts.standard import sql_quote from types import * from AccessControl import ClassSecurityInfo - +import time import logging - +import email #ersetzt logging def logger(txt,method,txt2): """logging""" @@ -82,6 +83,20 @@ class MPIWGStaff(CatalogAware,ZSQLExtend departmentList=departmentList security=ClassSecurityInfo() + def redirect(self,RESPONSE,url): + """mache ein redirect mit einem angehaengten time stamp um ein reload zu erzwingen""" + + timeStamp=time.time() + + if url.find("?")>-1: #giebt es schon parameter + addStr="&time=%s" + else: + addStr="?time=%s" + + RESPONSE.setHeader('Last-Modified',email.Utils.formatdate().split("-")[0]+'GMT') + logging.error(email.Utils.formatdate()+' GMT') + RESPONSE.redirect(url+addStr%timeStamp) + def getKey(self): """get database key""" if hasattr(self,'key'): @@ -138,7 +153,7 @@ class MPIWGStaff(CatalogAware,ZSQLExtend self.publicationSelectionMode=publicationSelectionMode if RESPONSE: - RESPONSE.redirect("editPublications") + self.redirect(RESPONSE,"%s""" if founds.profile and founds.profile != "": @@ -493,7 +540,7 @@ class MPIWGStaff(CatalogAware,ZSQLExtend if preview: #TODO: not supported yet if RESPONSE: - RESPONSE.redirect("editProfile") + self.redirect(RESPONSE,"editProfile") #return self.preview(newcontent) @@ -501,7 +548,7 @@ class MPIWGStaff(CatalogAware,ZSQLExtend self.ZSQLQuery(query%(self.ZSQLQuote(newcontent),oid)) logging.error("PROFILE:"+query%(self.ZSQLQuote(newcontent),oid)) if RESPONSE: - RESPONSE.redirect("editProfile") + self.redirect(RESPONSE,"editProfile") @@ -553,7 +600,7 @@ class MPIWGStaff(CatalogAware,ZSQLExtend self.ZSQLQuery(query%(self.ZSQLQuote(awards),oid)) if RESPONSE: - RESPONSE.redirect("editAwards") + self.redirect(RESPONSE,"editAwards") security.declareProtected('View management screens','editTalks') def editTalks(self): @@ -587,7 +634,7 @@ class MPIWGStaff(CatalogAware,ZSQLExtend else: self.ZSQLChange(argv,_table="personal_www",_identify="key=%s"%self.getKey(),USE_FORM="yes") if RESPONSE: - RESPONSE.redirect("editMainData") + self.redirect(RESPONSE,"editMainData") security.declareProtected('View management screens','newBibliogrpaphy') def newBibliography(self,_docType=None, _addEntry=None,RESPONSE=None,**argv): @@ -617,7 +664,7 @@ class MPIWGStaff(CatalogAware,ZSQLExtend if RESPONSE: - RESPONSE.redirect("editPublications") + self.redirect(RESPONSE,"editPublications") return True @@ -646,7 +693,7 @@ class MPIWGStaff(CatalogAware,ZSQLExtend self.sortingMode=sortingMode if RESPONSE and REQUEST: - REQUEST.RESPONSE.redirect(REQUEST['HTTP_REFERER']) + REQUEST.self.redirect(RESPONSE,REQUEST['HTTP_REFERER']) return True @@ -665,16 +712,16 @@ class MPIWGStaff(CatalogAware,ZSQLExtend return 0 security.declareProtected('View management screens','changePublications') - def changePublications(self): + def changePublications(self,RESPONSE=None): """change the publication list""" self.changeResearch(noredirect=True) #self.updatePublicationDB(personId=self.getDBId()) - self.REQUEST.RESPONSE.redirect(self.REQUEST['HTTP_REFERER']) + self.redirect(RESPONSE,self.REQUEST['HTTP_REFERER']) security.declareProtected('View management screens','addPublications') - def addPublications(self,submit=None,REQUEST=None,noredirect=None): + def addPublications(self,submit=None,REQUEST=None,noredirect=None,RESPONSE=None): """add publications""" #setzte flag ob aufruf aus suchformular @@ -706,7 +753,7 @@ class MPIWGStaff(CatalogAware,ZSQLExtend if not noredirect: - self.REQUEST.RESPONSE.redirect("./editPublications") + self.redirect(RESPONSE,"./editPublications") return True @@ -792,7 +839,7 @@ class MPIWGStaff(CatalogAware,ZSQLExtend query="DELETE FROM %s WHERE oid = '%s'"%(table,oid) self.ZSQLQuery(query) - self.REQUEST.RESPONSE.redirect(self.REQUEST['HTTP_REFERER']) + self.REQUEST.self.redirect(RESPONSE,self.REQUEST['HTTP_REFERER']) def manage_addMPIWGStaffForm(self): @@ -808,6 +855,6 @@ def manage_addMPIWGStaff(self,id,lastNam if RESPONSE is not None: - RESPONSE.redirect('manage_main') + self.redirect(RESPONSE,'manage_main')