--- MPIWGWeb/MPIWGStaff.py 2008/08/27 12:12:48 1.10.2.52
+++ 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
@@ -21,6 +23,10 @@ from AccessControl import ClassSecurityI
import time
import logging
import email
+import re
+from OFS.Cache import Cacheable
+
+from MPIWGHelper import *
#ersetzt logging
def logger(txt,method,txt2):
"""logging"""
@@ -53,8 +59,8 @@ def createNewDBEntry(self,publish_the_da
return False,"ERROR:key%s already exists"%key
#eintragen
- columnlist="""publish_the_data,key,last_name,first_name,title,status,e_mail,e_mail_p,date_from,date_to,department,home_inst,funded_by,e_mail2,date_stay_at_mpiwg,web_object_created,"group" """
- insertTuple=(publish_the_data,key,name,vorname,title,position,e_mail,e_mail_p,date_from,date_to,abteilung,heimat_inst,funded_by,e_mail2,stay_at_mpiwg,web_object_created,group)
+ columnlist="""publish_the_data,key,last_name,first_name,title,status,e_mail,e_mail_p,date_from,date_to,department,home_inst,funded_by,e_mail2,date_stay_at_mpiwg,web_object_created,"group",current_work,current_work_p """
+ insertTuple=(publish_the_data,key,name,vorname,title,position,e_mail,e_mail_p,date_from,date_to,abteilung,heimat_inst,funded_by,e_mail2,stay_at_mpiwg,web_object_created,group,current_work,"yes")
insert=[]
for element in insertTuple:
@@ -69,13 +75,13 @@ def createNewDBEntry(self,publish_the_da
self.ZSQLQuery(queryStr)
logging.info("QQQQ %s:"%queryStr)
#currentwork
- if not (current_work==""):
- queryStr="INSERT INTO current_work (key_main,current,publish) VALUES ('%s',%s,'%s')"%(key,self.ZSQLQuote(current_work),"yes")
+ #if not (current_work==""):
+ # queryStr="INSERT INTO current_work (key_main,current,publish) VALUES ('%s',%s,'%s')"%(key,self.ZSQLQuote(current_work),"yes")
- self.ZSQLQuery(queryStr)
+ # self.ZSQLQuery(queryStr)
return True,msg
-class MPIWGStaff(CatalogAware,ZSQLExtendFolder):
+class MPIWGStaff(CatalogAware,ZSQLExtendFolder,Cacheable):
"""Staff"""
meta_type="MPIWGStaff"
@@ -97,17 +103,25 @@ class MPIWGStaff(CatalogAware,ZSQLExtend
logging.error(email.Utils.formatdate()+' GMT')
RESPONSE.redirect(url+addStr%timeStamp)
+ def getKeyUTF8(self):
+ """get db_key utf8"""
+ return utf8ify(self.getKey())
+
def getKey(self):
"""get database key"""
if hasattr(self,'key'):
- return self.key.lower()
+ #logging.error("SAVED KEY:%s"%self.key)
+ return unicodify(self.key.lower())
+ #return self.key.lower()
#fuer alt faelle ohne key
+ #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"""
@@ -122,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:
@@ -151,9 +165,9 @@ class MPIWGStaff(CatalogAware,ZSQLExtend
"""change PublicationSelectionMode"""
self.publicationSelectionMode=publicationSelectionMode
-
+ self.ZCacheable_invalidate()
if RESPONSE:
- self.redirect(RESPONSE,"
Current work:
Curriculum Vitae: