--- MPIWGWeb/MPIWGStaff.py 2008/09/05 14:08:24 1.10.2.57 +++ MPIWGWeb/MPIWGStaff.py 2008/10/22 11:27:42 1.10.2.62 @@ -7,8 +7,10 @@ from OFS.Folder import Folder from Products.ZSQLExtend.ZSQLExtend import ZSQLExtendFolder from Products.PageTemplates.PageTemplateFile import PageTemplateFile from Products.PageTemplates.PageTemplate import PageTemplate +from Products.PageTemplates.ZopePageTemplate import ZopePageTemplate from Products.ZCatalog.CatalogPathAwareness import CatalogAware from Products.versionedFile.extVersionedFile import extVersionedFileFolder +from AccessControl import getSecurityManager import os import logging @@ -22,6 +24,7 @@ import time import logging import email import re +from OFS.Cache import Cacheable from MPIWGHelper import * #ersetzt logging @@ -78,7 +81,7 @@ def createNewDBEntry(self,publish_the_da # self.ZSQLQuery(queryStr) return True,msg -class MPIWGStaff(CatalogAware,ZSQLExtendFolder): +class MPIWGStaff(CatalogAware,ZSQLExtendFolder,Cacheable): """Staff""" meta_type="MPIWGStaff" @@ -115,9 +118,10 @@ class MPIWGStaff(CatalogAware,ZSQLExtend #logging.error("NEW KEY:%s"%(self.firstName+'_'+self.lastName).lower().replace(' ','')) return (self.firstName+'_'+self.lastName).lower().replace(' ','') - def getConnectionObj(self):#ueberschreibe connection id methode - - return getattr(self.de,self.de.connection_id) + def getConnectionObj(self): + """returns connection id (from root)""" + root = self.getMPIWGRoot() + return root.getConnectionObj() def isPublished(self): """gib publications status aus der datenbank aus""" @@ -132,7 +136,7 @@ class MPIWGStaff(CatalogAware,ZSQLExtend return False - + def updateDBEntry(self,publish_the_data,date_from,date_to,DBid=None,stay_at_mpiwg="",position="",abteilung=""): """zpddatedb""" if not DBid: @@ -161,9 +165,9 @@ class MPIWGStaff(CatalogAware,ZSQLExtend """change PublicationSelectionMode""" self.publicationSelectionMode=publicationSelectionMode - + self.ZCacheable_invalidate() if RESPONSE: - self.redirect(RESPONSE,"Current work:


" + ret+="

Current work:


" ret+=person.current_work+"
" - - ret+="
" - ret+=self.formatAscii(person.cv) + if (person.cv) and (not person.cv==""): + ret+="

Curriculum Vitae:


" + ret+=self.formatAscii(person.cv) return ret security.declareProtected('View management screens','editDownloads') @@ -625,7 +670,7 @@ class MPIWGStaff(CatalogAware,ZSQLExtend if (not oid): pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','editAwards.zpt')).__of__(self) return pt() - + self.ZCacheable_invalidate() query="UPDATE personal_www SET awards =%s WHERE oid='%s'" self.ZSQLQuery(query%(self.ZSQLQuote(awards),oid)) @@ -656,7 +701,7 @@ class MPIWGStaff(CatalogAware,ZSQLExtend security.declareProtected('View management screens','editMainData') def editMainData(self,REQUEST=None,RESPONSE=None): """edit main data""" - + self.ZCacheable_invalidate() argv=REQUEST.form if not argv.has_key('last_name'): @@ -721,6 +766,7 @@ class MPIWGStaff(CatalogAware,ZSQLExtend def changeSortingMode(self,sortingMode,RESPONSE=None,REQUEST=None): """change sorting mode""" + self.ZCacheable_invalidate() self.sortingMode=sortingMode if RESPONSE and REQUEST: @@ -746,7 +792,7 @@ class MPIWGStaff(CatalogAware,ZSQLExtend def changePublications(self,RESPONSE=None): """change the publication list""" self.changeResearch(noredirect=True) - + self.ZCacheable_invalidate() #self.updatePublicationDB(personId=self.getDBId()) self.redirect(RESPONSE,self.REQUEST['HTTP_REFERER'])