Diff for /MPIWGWeb/MPIWGStaff.py between versions 1.10.2.47 and 1.10.2.55

version 1.10.2.47, 2008/08/25 11:30:09 version 1.10.2.55, 2008/09/02 12:00:06
Line 13  from Products.versionedFile.extVersioned Line 13  from Products.versionedFile.extVersioned
 import os  import os
 import logging  import logging
 import bibliography  import bibliography
   import email
 from Globals import package_home  from Globals import package_home
 from Products.PythonScripts.standard import sql_quote  from Products.PythonScripts.standard import sql_quote
 from types import *  from types import *
 from AccessControl import ClassSecurityInfo  from AccessControl import ClassSecurityInfo
   import time
 import logging  import logging
   import email
   from MPIWGHelper import *
 #ersetzt logging  #ersetzt logging
 def logger(txt,method,txt2):  def logger(txt,method,txt2):
     """logging"""       """logging""" 
Line 82  class MPIWGStaff(CatalogAware,ZSQLExtend Line 84  class MPIWGStaff(CatalogAware,ZSQLExtend
     departmentList=departmentList      departmentList=departmentList
     security=ClassSecurityInfo()      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 getKeyUTF8(self):
           """get db_key utf8"""
           return utf8ify(self.getKey())
       
     def getKey(self):      def getKey(self):
         """get database key"""          """get database key"""
         if hasattr(self,'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          #fuer alt faelle ohne key
           #logging.error("NEW KEY:%s"%(self.firstName+'_'+self.lastName).lower().replace(' ',''))
         return (self.firstName+'_'+self.lastName).lower().replace(' ','')          return (self.firstName+'_'+self.lastName).lower().replace(' ','')
                   
     def getConnectionObj(self):#ueberschreibe connection id methode          def getConnectionObj(self):#ueberschreibe connection id methode    
Line 138  class MPIWGStaff(CatalogAware,ZSQLExtend Line 161  class MPIWGStaff(CatalogAware,ZSQLExtend
         self.publicationSelectionMode=publicationSelectionMode          self.publicationSelectionMode=publicationSelectionMode
                   
         if RESPONSE:          if RESPONSE:
             RESPONSE.redirect("editPublications")              self.redirect(RESPONSE,"<Publications")
                           
           
     def downloadCV(self,RESPONSE):      def downloadCV(self,RESPONSE):
Line 201  class MPIWGStaff(CatalogAware,ZSQLExtend Line 224  class MPIWGStaff(CatalogAware,ZSQLExtend
                 cvFile.addContentObject("","",file=publications_pdf)                  cvFile.addContentObject("","",file=publications_pdf)
                   
         if RESPONSE:          if RESPONSE:
             RESPONSE.redirect(self.REQUEST['HTTP_REFERER'])              self.redirect(RESPONSE,self.REQUEST['HTTP_REFERER'])
                   
   
     def getPublishImage(self):      def getPublishImage(self):
Line 229  class MPIWGStaff(CatalogAware,ZSQLExtend Line 252  class MPIWGStaff(CatalogAware,ZSQLExtend
         self.publishImage=publishImage          self.publishImage=publishImage
                   
         if RESPONSE:          if RESPONSE:
             RESPONSE.redirect("edit")              self.redirect(RESPONSE,"edit")
                           
     def getImageFolder(self):      def getImageFolder(self):
         """getImageFolder"""          """getImageFolder"""
Line 314  class MPIWGStaff(CatalogAware,ZSQLExtend Line 337  class MPIWGStaff(CatalogAware,ZSQLExtend
         self.specialPublicationsField=specialPublicationsField[0:]          self.specialPublicationsField=specialPublicationsField[0:]
   
         if RESPONSE is not None:          if RESPONSE is not None:
             RESPONSE.redirect('manage_main')              self.redirect(RESPONSE,'manage_main')
   
                   
     def publications_full(self):      def publications_full(self):
Line 347  class MPIWGStaff(CatalogAware,ZSQLExtend Line 370  class MPIWGStaff(CatalogAware,ZSQLExtend
             self.key = key              self.key = key
   
         if RESPONSE is not None:          if RESPONSE is not None:
             RESPONSE.redirect('manage_main')              self.redirect(RESPONSE,'manage_main')
                           
     security.declareProtected('View management screens','edit')      security.declareProtected('View management screens','edit')
     def edit(self):      def edit(self):
Line 359  class MPIWGStaff(CatalogAware,ZSQLExtend Line 382  class MPIWGStaff(CatalogAware,ZSQLExtend
         #        self.REQUEST.RESPONSE.redirect(redURL)          #        self.REQUEST.RESPONSE.redirect(redURL)
   
         pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','editMPIWGStaff.zpt')).__of__(self)          pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','editMPIWGStaff.zpt')).__of__(self)
           
           
           logging.error("XX:"+email.Utils.formatdate().split("-")[0]+'GMT')
         return pt()          return pt()
   
     mainEditFile=PageTemplateFile(os.path.join(package_home(globals()),'zpt','editMPIWGStaff_main.zpt'))      mainEditFile=PageTemplateFile(os.path.join(package_home(globals()),'zpt','editMPIWGStaff_main.zpt'))
Line 373  class MPIWGStaff(CatalogAware,ZSQLExtend Line 399  class MPIWGStaff(CatalogAware,ZSQLExtend
             return style                  return style    
   
   
     def changeCurrentWork(self,current_work,publish,key,RESPONSE=None):      def getLabel(self):
           """returns a label for this object"""
           return self.title
   
       def getBreadcrumbs(self):
           """return list of breadcrumbs from here to the root"""
           crumbs = []
           # skip direct parent Folder /members/
           parent = self.aq_parent.aq_parent
           # get parents breadcrumbs
           logging.debug("getbreadcrumbs-: title=%s self=%s parent=%s"%(self.title, repr(self), repr(parent)))
           if hasattr(parent, 'getBreadcrumbs'):
               logging.debug("getbreadcrumbs: recurse to %s"%parent)
               crumbs = parent.getBreadcrumbs()
           
           # try to get acquisition URL from parent
           if hasattr(parent, 'absolute_url'):
               baseUrl = "%s/%s/"%(parent.absolute_url(), 'members')
           else:
               baseUrl = "/en/staff/members/"
               
           # add this
           crumbs.append((self.getLabel(), baseUrl+self.getId(), self))
               
           return crumbs
   
   
       def changeCurrentWork(self,current_work,key,publish="yes",RESPONSE=None):
         """change current work"""          """change current work"""
                   
         query="UPDATE personal_www SET current_work =%s WHERE key='%s'"          query="UPDATE personal_www SET current_work =%s WHERE key='%s'"
Line 385  class MPIWGStaff(CatalogAware,ZSQLExtend Line 438  class MPIWGStaff(CatalogAware,ZSQLExtend
         self.ZSQLQuery(query%(self.ZSQLQuote(publish),key))          self.ZSQLQuery(query%(self.ZSQLQuote(publish),key))
                 
         if RESPONSE:          if RESPONSE:
             RESPONSE.redirect("edit")              self.redirect(RESPONSE,"edit")
                   
     security.declareProtected('View management screens','changeResearch')      security.declareProtected('View management screens','changeResearch')
     def changeResearch(self,noredirect=None):      def changeResearch(self,noredirect=None,RESPONSE=None):
         """change the research entries"""          """change the research entries"""
         newEntries={}          newEntries={}
         key_main=self.REQUEST.form['key_main']          key_main=self.REQUEST.form['key_main']
Line 437  class MPIWGStaff(CatalogAware,ZSQLExtend Line 490  class MPIWGStaff(CatalogAware,ZSQLExtend
                 self.ZSQLQuery(query)                  self.ZSQLQuery(query)
   
         if not noredirect:          if not noredirect:
             self.REQUEST.RESPONSE.redirect(self.REQUEST['HTTP_REFERER'])              self.redirect(RESPONSE,self.REQUEST['HTTP_REFERER'])
                           
     security.declareProtected('View management screens','editCV')          security.declareProtected('View management screens','editCV')    
     def editCV(self,cv=None,oid=None,RESPONSE=None):      def editCV(self,cv=None,oid=None,RESPONSE=None):
Line 452  class MPIWGStaff(CatalogAware,ZSQLExtend Line 505  class MPIWGStaff(CatalogAware,ZSQLExtend
          self.ZSQLQuery(query%(self.ZSQLQuote(cv),oid))           self.ZSQLQuery(query%(self.ZSQLQuote(cv),oid))
                   
          if RESPONSE:           if RESPONSE:
             RESPONSE.redirect("editCV")              self.redirect(RESPONSE,"editCV")
                           
           
     def getProfile(self):      def getProfile(self):
         """get the profile"""          """get the profile"""
       self.REQUEST.RESPONSE.setHeader('Last-Modified',email.Utils.formatdate().split("-")[0]+'GMT')
         
         founds=self.ZSQLInlineSearchU(_table='personal_www',key=self.getKey())          founds=self.ZSQLInlineSearchU(_table='personal_www',key=self.getKey())
         html="""<html><body>%s</body></html>"""          html="""<html><body>%s</body></html>"""
         if founds.profile and founds.profile != "":          if founds.profile and founds.profile != "":
Line 493  class MPIWGStaff(CatalogAware,ZSQLExtend Line 548  class MPIWGStaff(CatalogAware,ZSQLExtend
          if preview:            if preview: 
             #TODO: not supported yet              #TODO: not supported yet
             if RESPONSE:              if RESPONSE:
                 RESPONSE.redirect("editProfile")                  self.redirect(RESPONSE,"editProfile")
                           
             #return self.preview(newcontent)              #return self.preview(newcontent)
   
Line 501  class MPIWGStaff(CatalogAware,ZSQLExtend Line 556  class MPIWGStaff(CatalogAware,ZSQLExtend
          self.ZSQLQuery(query%(self.ZSQLQuote(newcontent),oid))           self.ZSQLQuery(query%(self.ZSQLQuote(newcontent),oid))
          logging.error("PROFILE:"+query%(self.ZSQLQuote(newcontent),oid))           logging.error("PROFILE:"+query%(self.ZSQLQuote(newcontent),oid))
          if RESPONSE:           if RESPONSE:
             RESPONSE.redirect("editProfile")              self.redirect(RESPONSE,"editProfile")
   
   
   
Line 511  class MPIWGStaff(CatalogAware,ZSQLExtend Line 566  class MPIWGStaff(CatalogAware,ZSQLExtend
         ret=""          ret=""
         founds=self.ZSQLInlineSearch(_table='research_interest',key_main=person.key)          founds=self.ZSQLInlineSearch(_table='research_interest',key_main=person.key)
         if founds:          if founds:
             ret="Research interests: <br/><br/>"              ret="<p class=\"bio_section_header\">Research interests: </p><br/>"
         for found in self.sortPriority(founds):          for found in self.sortPriority(founds):
             ret+=found.interest+"<br/>"              ret+=found.interest+"<br/>"
                   
                   
         if (person.current_work) and (not person.current_work==""):          if (person.current_work) and (not person.current_work==""):
             ret="Current work: <br/><br/>"              ret="<p class=\"bio_section_header\">Current work: </p><br/>"
               
             ret+=person.current_work+"<br/>"              ret+=person.current_work+"<br/>"
           
Line 532  class MPIWGStaff(CatalogAware,ZSQLExtend Line 587  class MPIWGStaff(CatalogAware,ZSQLExtend
         pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','editDownloads.zpt')).__of__(self)          pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','editDownloads.zpt')).__of__(self)
         return pt()          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')          security.declareProtected('View management screens','editAwards')    
     def editAwards(self,awards=None,oid=None,RESPONSE=None):      def editAwards(self,awards=None,oid=None,RESPONSE=None):
          """edit a awards"""           """edit a awards"""
Line 545  class MPIWGStaff(CatalogAware,ZSQLExtend Line 608  class MPIWGStaff(CatalogAware,ZSQLExtend
          self.ZSQLQuery(query%(self.ZSQLQuote(awards),oid))           self.ZSQLQuery(query%(self.ZSQLQuote(awards),oid))
                   
          if RESPONSE:           if RESPONSE:
             RESPONSE.redirect("editAwards")              self.redirect(RESPONSE,"editAwards")
   
     security.declareProtected('View management screens','editTalks')          security.declareProtected('View management screens','editTalks')    
     def editTalks(self):      def editTalks(self):
Line 579  class MPIWGStaff(CatalogAware,ZSQLExtend Line 642  class MPIWGStaff(CatalogAware,ZSQLExtend
         else:          else:
             self.ZSQLChange(argv,_table="personal_www",_identify="key=%s"%self.getKey(),USE_FORM="yes")              self.ZSQLChange(argv,_table="personal_www",_identify="key=%s"%self.getKey(),USE_FORM="yes")
             if RESPONSE:              if RESPONSE:
                 RESPONSE.redirect("editMainData")                  self.redirect(RESPONSE,"editMainData")
                                   
     security.declareProtected('View management screens','newBibliogrpaphy')          security.declareProtected('View management screens','newBibliogrpaphy')    
     def newBibliography(self,_docType=None, _addEntry=None,RESPONSE=None,**argv):      def newBibliography(self,_docType=None, _addEntry=None,RESPONSE=None,**argv):
Line 609  class MPIWGStaff(CatalogAware,ZSQLExtend Line 672  class MPIWGStaff(CatalogAware,ZSQLExtend
                           
                   
         if RESPONSE:          if RESPONSE:
             RESPONSE.redirect("editPublications")              self.redirect(RESPONSE,"editPublications")
                           
         return True          return True
           
Line 638  class MPIWGStaff(CatalogAware,ZSQLExtend Line 701  class MPIWGStaff(CatalogAware,ZSQLExtend
         self.sortingMode=sortingMode          self.sortingMode=sortingMode
                   
         if RESPONSE and REQUEST:          if RESPONSE and REQUEST:
             REQUEST.RESPONSE.redirect(REQUEST['HTTP_REFERER'])              self.redirect(RESPONSE,REQUEST['HTTP_REFERER'])
   
         return True          return True
   
Line 657  class MPIWGStaff(CatalogAware,ZSQLExtend Line 720  class MPIWGStaff(CatalogAware,ZSQLExtend
             return 0              return 0
                   
     security.declareProtected('View management screens','changePublications')          security.declareProtected('View management screens','changePublications')    
     def changePublications(self):      def changePublications(self,RESPONSE=None):
         """change the publication list"""          """change the publication list"""
         self.changeResearch(noredirect=True)          self.changeResearch(noredirect=True)
                   
         #self.updatePublicationDB(personId=self.getDBId())          #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')          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"""          """add publications"""
   
         #setzte flag ob aufruf aus suchformular          #setzte flag ob aufruf aus suchformular
Line 698  class MPIWGStaff(CatalogAware,ZSQLExtend Line 762  class MPIWGStaff(CatalogAware,ZSQLExtend
                   
         if not noredirect:          if not noredirect:
                           
             self.REQUEST.RESPONSE.redirect("./editPublications")              self.redirect(RESPONSE,"./editPublications")
                           
             return True              return True
                   
Line 779  class MPIWGStaff(CatalogAware,ZSQLExtend Line 843  class MPIWGStaff(CatalogAware,ZSQLExtend
         tmp.sort(sort)                     tmp.sort(sort)           
         return tmp          return tmp
           
     def deleteField(self,table,oid):      def deleteField(self,table,oid,RESPONSE=None):
         """delete entry"""          """delete entry"""
         query="DELETE FROM %s WHERE oid = '%s'"%(table,oid)          query="DELETE FROM %s WHERE oid = '%s'"%(table,oid)
   
         self.ZSQLQuery(query)          self.ZSQLQuery(query)
         self.REQUEST.RESPONSE.redirect(self.REQUEST['HTTP_REFERER'])          self.redirect(RESPONSE,self.REQUEST['HTTP_REFERER'])
                   
           
 def manage_addMPIWGStaffForm(self):  def manage_addMPIWGStaffForm(self):
Line 800  def manage_addMPIWGStaff(self,id,lastNam Line 864  def manage_addMPIWGStaff(self,id,lastNam
   
   
     if RESPONSE is not None:      if RESPONSE is not None:
         RESPONSE.redirect('manage_main')          self.redirect(RESPONSE,'manage_main')
   
           

Removed from v.1.10.2.47  
changed lines
  Added in v.1.10.2.55


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>