--- MPIWGWeb/MPIWGStaff.py 2008/09/05 14:08:24 1.10.2.57
+++ MPIWGWeb/MPIWGStaff.py 2009/04/17 14:29:13 1.10.2.66
@@ -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
@@ -32,15 +35,7 @@ def logger(txt,method,txt2):
departmentList="Renn\nRheinberger\nDaston\nKlein\nSibum\nIT\nInstitut\nBibliothek"
-def getTemplate(self, tpName):
- """get a template file either form the instance or from the product"""
- ext=self.ZopeFind(self.aq_parent,obj_ids=[tpName])
- if ext:
- pt = getattr(self,ext[0][1].getId())
- else:
- pt=PageTemplateFile(os.path.join(package_home(globals()), 'zpt/'+tpName)).__of__(self)
- assert(pt)
- return pt
+
def createNewDBEntry(self,publish_the_data,key,name,vorname,title,position,e_mail,e_mail_p,date_from,date_to,abteilung,heimat_inst,funded_by="",e_mail2="",txt="",txt_p="no",stay_at_mpiwg="",group="",web_object_created="no",current_work=""):
"""lege person in der datenbank an"""
@@ -78,7 +73,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"
@@ -104,6 +99,10 @@ class MPIWGStaff(CatalogAware,ZSQLExtend
"""get db_key utf8"""
return utf8ify(self.getKey())
+ def setKey(self,key):
+ """set key"""
+ self.key=key
+
def getKey(self):
"""get database key"""
if hasattr(self,'key'):
@@ -115,10 +114,13 @@ 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)"""
+ try:
+ root = self.getMPIWGRoot()
+ return root.getConnectionObj()
+ except:
+ return self.en.getConnectionObj()
def isPublished(self):
"""gib publications status aus der datenbank aus"""
key=self.getKey()
@@ -132,7 +134,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 +163,9 @@ class MPIWGStaff(CatalogAware,ZSQLExtend
"""change PublicationSelectionMode"""
self.publicationSelectionMode=publicationSelectionMode
-
+ self.ZCacheable_invalidate()
if RESPONSE:
- self.redirect(RESPONSE,"
Current work:
Curriculum Vitae: