Diff for /MPIWGWeb/MPIWGStaff.py between versions 1.10.2.8 and 1.10.2.27

version 1.10.2.8, 2005/10/14 16:32:09 version 1.10.2.27, 2006/07/03 14:28:47
Line 9  from Products.PageTemplates.PageTemplate Line 9  from Products.PageTemplates.PageTemplate
 from Products.PageTemplates.PageTemplate import PageTemplate  from Products.PageTemplates.PageTemplate import PageTemplate
 from Products.ZCatalog.CatalogPathAwareness import CatalogAware  from Products.ZCatalog.CatalogPathAwareness import CatalogAware
 import os  import os
   import zLOG
 import bibliography  import bibliography
 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
   
   import zLOG
   
 departmentList="Renn\nRheinberger\nDaston\nKlein\nSibum\nIT\nInstitut\nBibliothek"  departmentList="Renn\nRheinberger\nDaston\nKlein\nSibum\nIT\nInstitut\nBibliothek"
   
Line 33  class MPIWGStaff(CatalogAware,ZSQLExtend Line 37  class MPIWGStaff(CatalogAware,ZSQLExtend
     meta_type="MPIWGStaff"      meta_type="MPIWGStaff"
     default_catalog='MembersCatalog'      default_catalog='MembersCatalog'
     departmentList=departmentList      departmentList=departmentList
       security=ClassSecurityInfo()
           
     def getConnectionObj(self):#ueberschreibe connection id methode          def getConnectionObj(self):#ueberschreibe connection id methode    
                     
Line 50  class MPIWGStaff(CatalogAware,ZSQLExtend Line 55  class MPIWGStaff(CatalogAware,ZSQLExtend
         else:          else:
             return False              return False
                   
     def createNewDBEntry(self,publish_the_data,id,name,vorname,username,title,e_mail,e_mail_p,date_from,date_to,abteilung,heimat_inst,funded_by="",e_mail2="",txt="",txt_p="no"):      def createNewDBEntry(self,publish_the_data,id,name,vorname,username,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=""):
         """lege person in der datenbank an"""          """lege person in der datenbank an"""
         msg=""          msg=""
         #test ob id schon existiert          #test ob id schon existiert
Line 64  class MPIWGStaff(CatalogAware,ZSQLExtend Line 69  class MPIWGStaff(CatalogAware,ZSQLExtend
         if self.ZSQLQuery("select username from personal_www where username='%s' and not publish_the_data='yes'"%username):          if self.ZSQLQuery("select username from personal_www where username='%s' and not publish_the_data='yes'"%username):
             msg="WARNING:username %s not unique but id=%s added"%(username,id)              msg="WARNING:username %s not unique but id=%s added"%(username,id)
         #eintragen          #eintragen
         columnlist="publish_the_data,id,name,vorname,username,title,e_mail,e_mail_p,date_from,date_to,abteilung,heimat_inst,funded_by,e_mail2"          columnlist="publish_the_data,id,name,vorname,username,title,position,e_mail,e_mail_p,date_from,date_to,abteilung,heimat_inst,funded_by,e_mail2,stay_at_mpiwg"
         insertTuple=(publish_the_data,id,name,vorname,username,title,e_mail,e_mail_p,date_from,date_to,abteilung,heimat_inst,funded_by,e_mail2)          insertTuple=(publish_the_data,id,name,vorname,username,title,position,e_mail,e_mail_p,date_from,date_to,abteilung,heimat_inst,funded_by,e_mail2,stay_at_mpiwg)
                   
         insert=[]          insert=[]
         for element in insertTuple:          for element in insertTuple:
             insert.append("'%s'"%element)              insert.append("'%s'"%element)
                   
         insertStr=",".join(insert)          insertStr=",".join(insert)
         queryStr="INSERT INTO personal_www (%s) VALUES (%s)"%(columnlist,insertTuple)          queryStr="INSERT INTO personal_www (%s) VALUES (%s)"%(columnlist,insertStr)
                   self.ZSQLQuery("SET DATESTYLE TO 'German'")
         self.ZSQLQuery(queryStr)          self.ZSQLQuery(queryStr)
                   
         #currentwork          #currentwork
         if not (txt==""):          if not (txt==""):
             queryStr="INSERT INTO current_work (id_main,current,publish) VALUES ('%s','%s','%s')"%(id,txt,txt_p)              queryStr="INSERT INTO current_work (id_main,current,publish) VALUES ('%s','%s','%s')"%(id,txt,txt_p)
   
             self.ZSQLQuery(queryStr)              self.ZSQLQuery(queryStr)
                   
         return True,msg          return True,msg
           
     def updateDBEntry(self,publish_the_data,date_from,date_to,DBid=None):       def updateDBEntry(self,publish_the_data,date_from,date_to,DBid=None,stay_at_mpiwg="",position="",abteilung=""): 
         """zpddatedb"""          """zpddatedb"""
         if not DBid:          if not DBid:
             DBid=self.getDBId()              DBid=self.getDBId()
                     
         self.ZSQLQuery("SET DATESTYLE TO 'German'")          self.ZSQLQuery("SET DATESTYLE TO 'German'")
   
           test=self.ZSQLQuery("select id from personal_www where id='%s' "%DBid)
   
           
           if test and (len(test)>0): #dataset exists
           zLOG.LOG("MPIWG Web",zLOG.INFO,'UPDATE: _table="personal_www",_identify="id=%s"'%DBid+',publish_the_data=%s'%publish_the_data+',date_from=%s'%date_from+',date_to=%s'%date_to+',stay_at_mpiwg=%s'%stay_at_mpiwg+',position=%s'%position)
    
         self.ZSQLChange(_table="personal_www",_identify="id=%s"%DBid,publish_the_data=publish_the_data,          self.ZSQLChange(_table="personal_www",_identify="id=%s"%DBid,publish_the_data=publish_the_data,
                                    date_from=date_from,                                     date_from=date_from,
                                    date_to=date_to)                                     date_to=date_to,stay_at_mpiwg=stay_at_mpiwg,position=position,abteilung=abteilung)
                             return True
           else:
           return False
                       
     def getPublicationSelectionMode(self):      def getPublicationSelectionMode(self):
         """get publication selection mode, default 'priority'"""          """get publication selection mode, default 'priority'"""
Line 118  class MPIWGStaff(CatalogAware,ZSQLExtend Line 133  class MPIWGStaff(CatalogAware,ZSQLExtend
         if self.getImageObj():          if self.getImageObj():
              self.getImageObj().updateImage(file,rename=None,RESPONSE=None)               self.getImageObj().updateImage(file,rename=None,RESPONSE=None)
             else:              else:
                  self.getImageFolder().addImage2(file,fileName=self.getId())          # create new image object
           xp = file.filename.rfind('.')
           if xp > 0:
               ext = file.filename[xp:]
               fn = self.getId()+ext
               zLOG.LOG("MPWIG STAFF", zLOG.INFO, "new filename: %s"%fn)
               self.getImageFolder().addImage2(file,fileName=fn)
           else:
               zLOG.LOG("MPWIG STAFF", zLOG.ERROR, "uploaded filename %s has no extension!"%file.filename)
                           
         self.publishImage=publishImage          self.publishImage=publishImage
                   
Line 127  class MPIWGStaff(CatalogAware,ZSQLExtend Line 150  class MPIWGStaff(CatalogAware,ZSQLExtend
                           
     def getImageFolder(self):      def getImageFolder(self):
         """getImageFolder"""          """getImageFolder"""
           #TODO: make place of staff image folder configurable
           
           try:
         return self.getPhysicalRoot().www_neu.images.staff_images          return self.getPhysicalRoot().www_neu.images.staff_images
           except: 
               zLOG.LOG("MPWIG STAFF", zLOG.ERROR, "image folder not found:"," has to be add /www_neu/staff_images") 
               return None
           
     def getImageObj(self):      def getImageObj(self):
         """getImage"""          """getImage"""
         imageFolder=self.getImageFolder()          imageFolder=self.getImageFolder()
                   
           if not imageFolder: return None
           
         image=getattr(imageFolder,self.getId(),None)          image=getattr(imageFolder,self.getId(),None)
   
         if not image:          if not image:
Line 212  class MPIWGStaff(CatalogAware,ZSQLExtend Line 243  class MPIWGStaff(CatalogAware,ZSQLExtend
         pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','edit_MPIWGStaff.zpt')).__of__(self)          pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','edit_MPIWGStaff.zpt')).__of__(self)
         return pt()          return pt()
   
       security.declareProtected('View management screens','changeMPIWGStaff')
     def changeMPIWGStaff(self,lastName,firstName,RESPONSE=None):      def changeMPIWGStaff(self,lastName,firstName,RESPONSE=None):
         """change it"""          """change it"""
         self.title="%s, %s"%(lastName,firstName)          self.title="%s, %s"%(lastName,firstName)
Line 221  class MPIWGStaff(CatalogAware,ZSQLExtend Line 253  class MPIWGStaff(CatalogAware,ZSQLExtend
         if RESPONSE is not None:          if RESPONSE is not None:
             RESPONSE.redirect('manage_main')              RESPONSE.redirect('manage_main')
   
       security.declareProtected('View management screens','edit')
     def edit(self):      def edit(self):
         """Edit the pages"""          """Edit the pages"""
           #TODO: zusammenspiel mit apache, redirect auf 18080 rausnehmen bzw. zumindest verallgemeinern
     if self.REQUEST['SERVER_URL']=="http://www.mpiwg-berlin.mpg.de":      if self.REQUEST['SERVER_URL']=="http://www.mpiwg-berlin.mpg.de":
         redURL="http://xserve04.mpiwg-berlin.mpg.de:18080/www_neu/de/mitarbeiter/members/%s/edit"%self.getId()          redURL="http://xserve04.mpiwg-berlin.mpg.de:18080/www_neu/de/mitarbeiter/members/%s/edit"%self.getId()
           
         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)
Line 232  class MPIWGStaff(CatalogAware,ZSQLExtend Line 267  class MPIWGStaff(CatalogAware,ZSQLExtend
   
     mainEditFile=PageTemplateFile(os.path.join(package_home(globals()),'zpt','editMPIWGStaff_main.zpt'))      mainEditFile=PageTemplateFile(os.path.join(package_home(globals()),'zpt','editMPIWGStaff_main.zpt'))
   
       def getPathStyle(self, path, selected, style=""):
           """returns a string with the given style + 'sel' if path == selected."""
   
           if path == selected:
               return style + 'sel'
           else:
               return style    
   
       security.declareProtected('View management screens','changeResearch')
     def changeResearch(self,noredirect=None):      def changeResearch(self,noredirect=None):
         """change the research entries"""          """change the research entries"""
         newEntries={}          newEntries={}
Line 265  class MPIWGStaff(CatalogAware,ZSQLExtend Line 309  class MPIWGStaff(CatalogAware,ZSQLExtend
         for newEntry in newEntries.keys():          for newEntry in newEntries.keys():
             query="INSERT INTO %s "%newEntry              query="INSERT INTO %s "%newEntry
             keys=['id_main']              keys=['id_main']
             values=["'"+id_main+"'"]              values=["'"+sql_quote(id_main)+"'"]
             for key in newEntries[newEntry].keys():              for key in newEntries[newEntry].keys():
                 keys.append(key)                  keys.append(key)
                 values.append("'"+newEntries[newEntry][key]+"'")                  values.append("'"+sql_quote(newEntries[newEntry][key])+"'")
   
   
             keystring=",".join(keys)              keystring=",".join(keys)
Line 283  class MPIWGStaff(CatalogAware,ZSQLExtend Line 327  class MPIWGStaff(CatalogAware,ZSQLExtend
         if not noredirect:          if not noredirect:
             self.REQUEST.RESPONSE.redirect(self.REQUEST['HTTP_REFERER'])              self.REQUEST.RESPONSE.redirect(self.REQUEST['HTTP_REFERER'])
                   
       security.declareProtected('View management screens','editCV')    
     def editCV(self,cv=None,oid=None,RESPONSE=None):      def editCV(self,cv=None,oid=None,RESPONSE=None):
          """edit Cv"""           """edit Cv"""
   
          if (not cv):           if (not oid):
              pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','editCV.zpt')).__of__(self)               pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','editCV.zpt')).__of__(self)
              return pt()               return pt()
                   
          query="UPDATE personal_www SET cv ='%s' WHERE oid='%s'"           query="UPDATE personal_www SET cv =%s WHERE oid='%s'"
   
          self.ZSQLQuery(query%(cv,oid))           self.ZSQLQuery(query%(self.ZSQLQuote(cv),oid))
                   
          if RESPONSE:           if RESPONSE:
             RESPONSE.redirect("editCV")              RESPONSE.redirect("editCV")
   
       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"""
   
          if (not awards):           if (not oid):
              pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','editAwards.zpt')).__of__(self)               pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','editAwards.zpt')).__of__(self)
              return pt()               return pt()
                   
          query="UPDATE personal_www SET awards ='%s' WHERE oid='%s'"           query="UPDATE personal_www SET awards =%s WHERE oid='%s'"
   
          self.ZSQLQuery(query%(awards,oid))           self.ZSQLQuery(query%(self.ZSQLQuote(awards),oid))
                   
          if RESPONSE:           if RESPONSE:
             RESPONSE.redirect("editAwards")              RESPONSE.redirect("editAwards")
   
       security.declareProtected('View management screens','editTalks')    
     def editTalks(self):      def editTalks(self):
         """edit talks"""          """edit talks"""
   
         pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','editTalks.zpt')).__of__(self)          pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','editTalks.zpt')).__of__(self)
         return pt()          return pt()
                   
                security.declareProtected('View management screens','editTeaching')    
     def editTeaching(self):      def editTeaching(self):
         """edit Teaching"""          """edit Teaching"""
   
Line 330  class MPIWGStaff(CatalogAware,ZSQLExtend Line 377  class MPIWGStaff(CatalogAware,ZSQLExtend
         list= [x[0] for x in finds]          list= [x[0] for x in finds]
         return "\n".join(list)          return "\n".join(list)
   
       security.declareProtected('View management screens','editMainData')    
     def editMainData(self,REQUEST=None,RESPONSE=None,name=None,**argv):      def editMainData(self,REQUEST=None,RESPONSE=None,name=None,**argv):
         """edit main data"""          """edit main data"""
                   
Line 338  class MPIWGStaff(CatalogAware,ZSQLExtend Line 386  class MPIWGStaff(CatalogAware,ZSQLExtend
             pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','editMainData.zpt')).__of__(self)              pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','editMainData.zpt')).__of__(self)
             return pt()               return pt() 
         else:          else:
                           self.ZSQLChange(argv,_table="personal_www",_identify="id=%s"%self.getDBId(),USE_FORM="yes")
             self.ZSQLChange(argv,_table="personal_www",_identify="<%s"%self.getDBId(),USE_FORM="yes")  
             if RESPONSE:              if RESPONSE:
                 RESPONSE.redirect("editMainData")                  RESPONSE.redirect("editMainData")
                                   
                     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):
                   
         """add an entry to the bibliography"""          """add an entry to the bibliography"""
Line 374  class MPIWGStaff(CatalogAware,ZSQLExtend Line 421  class MPIWGStaff(CatalogAware,ZSQLExtend
                           
         return True          return True
           
       security.declareProtected('View management screens','editImage')    
     def editImage(self):      def editImage(self):
         """edit images"""          """edit images"""
         pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','editImageStaff.zpt')).__of__(self)          pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','editImageStaff.zpt')).__of__(self)
         return pt()          return pt()
           
       security.declareProtected('View management screens','editBibliography')    
     def editBibliography(self):      def editBibliography(self):
         """edit the bibliography"""          """edit the bibliography"""
         pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','editBibliographyEntry.zpt')).__of__(self)          pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','editBibliographyEntry.zpt')).__of__(self)
         return pt()          return pt()
           
               
               security.declareProtected('View management screens','editPublications')    
     def editPublications(self):      def editPublications(self):
         """edit the bibliographie"""          """edit the bibliographie"""
   
Line 411  class MPIWGStaff(CatalogAware,ZSQLExtend Line 460  class MPIWGStaff(CatalogAware,ZSQLExtend
         except:          except:
             return 0              return 0
                   
               security.declareProtected('View management screens','changePublications')    
     def changePublications(self):      def changePublications(self):
         """change the publication list"""          """change the publication list"""
         self.changeResearch(noredirect=True)          self.changeResearch(noredirect=True)
Line 420  class MPIWGStaff(CatalogAware,ZSQLExtend Line 469  class MPIWGStaff(CatalogAware,ZSQLExtend
         self.REQUEST.RESPONSE.redirect(self.REQUEST['HTTP_REFERER'])          self.REQUEST.RESPONSE.redirect(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):
         """add publications"""          """add publications"""
   
Line 444  class MPIWGStaff(CatalogAware,ZSQLExtend Line 493  class MPIWGStaff(CatalogAware,ZSQLExtend
             query="INSERT INTO %s " % "publications"              query="INSERT INTO %s " % "publications"
             query+="(id_main,id_institutsbibliographie,publish) "              query+="(id_main,id_institutsbibliographie,publish) "
             query+="VALUES ('%s','%s','yes')" %(sql_quote(self.getDBId()),sql_quote(bibId))              query+="VALUES ('%s','%s','yes')" %(sql_quote(self.getDBId()),sql_quote(bibId))
             print "ADD",query              
             #self.ZSQLAdd(_table="publications",id_institutsbibliographie=bibId,id_main=self.getDBId(),publish='yes')              #self.ZSQLAdd(_table="publications",id_institutsbibliographie=bibId,id_main=self.getDBId(),publish='yes')
             self.ZSQLQuery(query)              self.ZSQLQuery(query)
             

Removed from v.1.10.2.8  
changed lines
  Added in v.1.10.2.27


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