--- MPIWGWeb/MPIWGStaff.py 2008/08/20 12:24:29 1.10.2.44
+++ MPIWGWeb/MPIWGStaff.py 2008/08/26 15:01:41 1.10.2.50
@@ -17,7 +17,7 @@ from Globals import package_home
from Products.PythonScripts.standard import sql_quote
from types import *
from AccessControl import ClassSecurityInfo
-
+import time
import logging
#ersetzt logging
@@ -82,6 +82,17 @@ 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.redirect(url+addStr%timeStamp)
+
def getKey(self):
"""get database key"""
if hasattr(self,'key'):
@@ -138,7 +149,7 @@ class MPIWGStaff(CatalogAware,ZSQLExtend
self.publicationSelectionMode=publicationSelectionMode
if RESPONSE:
- RESPONSE.redirect("editPublications")
+ self.redirect(RESPONSE,"editPublications")
def downloadCV(self,RESPONSE):
@@ -201,8 +212,8 @@ class MPIWGStaff(CatalogAware,ZSQLExtend
cvFile.addContentObject("","",file=publications_pdf)
if RESPONSE:
- RESPONSE.redirect(self.REQUEST['HTTP_REFERER'])
-
+ self.redirect(RESPONSE,self.REQUEST['HTTP_REFERER'])
+
def getPublishImage(self):
"""publish the image??, default no"""
@@ -229,7 +240,7 @@ class MPIWGStaff(CatalogAware,ZSQLExtend
self.publishImage=publishImage
if RESPONSE:
- RESPONSE.redirect("edit")
+ self.redirect(RESPONSE,"edit")
def getImageFolder(self):
"""getImageFolder"""
@@ -314,7 +325,7 @@ class MPIWGStaff(CatalogAware,ZSQLExtend
self.specialPublicationsField=specialPublicationsField[0:]
if RESPONSE is not None:
- RESPONSE.redirect('manage_main')
+ self.redirect(RESPONSE,'manage_main')
def publications_full(self):
@@ -347,7 +358,7 @@ class MPIWGStaff(CatalogAware,ZSQLExtend
self.key = key
if RESPONSE is not None:
- RESPONSE.redirect('manage_main')
+ self.redirect(RESPONSE,'manage_main')
security.declareProtected('View management screens','edit')
def edit(self):
@@ -362,6 +373,7 @@ class MPIWGStaff(CatalogAware,ZSQLExtend
return pt()
mainEditFile=PageTemplateFile(os.path.join(package_home(globals()),'zpt','editMPIWGStaff_main.zpt'))
+ addPublicationsBib=PageTemplateFile(os.path.join(package_home(globals()),'zpt','addPublicationsBib.zpt'))
def getPathStyle(self, path, selected, style=""):
"""returns a string with the given style + 'sel' if path == selected."""
@@ -372,7 +384,7 @@ class MPIWGStaff(CatalogAware,ZSQLExtend
return style
- def changeCurrentWork(self,current_work,publish,key,RESPONSE=None):
+ def changeCurrentWork(self,current_work,key,publish="yes",RESPONSE=None):
"""change current work"""
query="UPDATE personal_www SET current_work =%s WHERE key='%s'"
@@ -384,10 +396,10 @@ class MPIWGStaff(CatalogAware,ZSQLExtend
self.ZSQLQuery(query%(self.ZSQLQuote(publish),key))
if RESPONSE:
- RESPONSE.redirect("edit")
+ self.redirect(RESPONSE,"edit")
security.declareProtected('View management screens','changeResearch')
- def changeResearch(self,noredirect=None):
+ def changeResearch(self,noredirect=None,RESPONSE=None):
"""change the research entries"""
newEntries={}
key_main=self.REQUEST.form['key_main']
@@ -436,7 +448,7 @@ class MPIWGStaff(CatalogAware,ZSQLExtend
self.ZSQLQuery(query)
if not noredirect:
- self.REQUEST.RESPONSE.redirect(self.REQUEST['HTTP_REFERER'])
+ self.redirect(RESPONSE,self.REQUEST['HTTP_REFERER'])
security.declareProtected('View management screens','editCV')
def editCV(self,cv=None,oid=None,RESPONSE=None):
@@ -451,7 +463,7 @@ class MPIWGStaff(CatalogAware,ZSQLExtend
self.ZSQLQuery(query%(self.ZSQLQuote(cv),oid))
if RESPONSE:
- RESPONSE.redirect("editCV")
+ self.redirect(RESPONSE,"editCV")
def getProfile(self):
@@ -492,7 +504,7 @@ class MPIWGStaff(CatalogAware,ZSQLExtend
if preview:
#TODO: not supported yet
if RESPONSE:
- RESPONSE.redirect("editProfile")
+ self.redirect(RESPONSE,"editProfile")
#return self.preview(newcontent)
@@ -500,7 +512,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")
@@ -514,11 +526,11 @@ class MPIWGStaff(CatalogAware,ZSQLExtend
for found in self.sortPriority(founds):
ret+=found.interest+"
"
- founds=self.ZSQLInlineSearch(_table='current_work',key_main=person.key)
- if founds:
+
+ if (person.current_work) and (not person.current_work==""):
ret="Current work:
"
- for found in self.sortPriority(founds):
- ret+=found.current+"
"
+
+ ret+=person.current_work+"
"
ret+="
"
ret+=self.formatAscii(person.cv)
@@ -531,6 +543,14 @@ class MPIWGStaff(CatalogAware,ZSQLExtend
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','editDownloads.zpt')).__of__(self)
return pt()
+ security.declareProtected('View management screens','editAdditionalLinks.zpt')
+ def editAdditionalLinks(self):
+ """editiere die Downloads von der Webseite"""
+
+ pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','editAdditionalLinks.zpt')).__of__(self)
+ return pt()
+
+
security.declareProtected('View management screens','editAwards')
def editAwards(self,awards=None,oid=None,RESPONSE=None):
"""edit a awards"""
@@ -544,7 +564,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):
@@ -578,7 +598,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):
@@ -608,7 +628,7 @@ class MPIWGStaff(CatalogAware,ZSQLExtend
if RESPONSE:
- RESPONSE.redirect("editPublications")
+ self.redirect(RESPONSE,"editPublications")
return True
@@ -637,7 +657,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
@@ -656,16 +676,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
@@ -697,7 +717,7 @@ class MPIWGStaff(CatalogAware,ZSQLExtend
if not noredirect:
- self.REQUEST.RESPONSE.redirect("./editPublications")
+ self.redirect(RESPONSE,"./editPublications")
return True
@@ -783,7 +803,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):
@@ -799,6 +819,6 @@ def manage_addMPIWGStaff(self,id,lastNam
if RESPONSE is not None:
- RESPONSE.redirect('manage_main')
+ self.redirect(RESPONSE,'manage_main')