Diff for /MPIWGWeb/MPIWGStaff.py between versions 1.10.2.6 and 1.10.2.21

version 1.10.2.6, 2005/10/13 18:00:36 version 1.10.2.21, 2005/12/22 20:33:45
Line 13  import bibliography Line 13  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 36  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    
            
               return getattr(self.de,self.de.connection_id)
           
       def isPublished(self):
           """gib publications status aus der datenbank aus"""
           username=self.getId()
           query="select count(publish_the_data) from personal_www where username='%s' and publish_the_data='yes'"%username
           
           res = self.ZSQLQuery(query)
           
           if res and res[0].count>0:
               return True
           else:
               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 48  class MPIWGStaff(CatalogAware,ZSQLExtend Line 68  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=""): 
         """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
         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)
                             return True
           else:
              return False
                       
     def getPublicationSelectionMode(self):      def getPublicationSelectionMode(self):
         """get publication selection mode, default 'priority'"""          """get publication selection mode, default 'priority'"""
Line 98  class MPIWGStaff(CatalogAware,ZSQLExtend Line 126  class MPIWGStaff(CatalogAware,ZSQLExtend
     def updateImage(self,file,publishImage,rename=None,RESPONSE=None):      def updateImage(self,file,publishImage,rename=None,RESPONSE=None):
         """update image"""          """update image"""
                   
           if file and not(file.filename==""):
         if self.getImageObj():          if self.getImageObj():
             self.getImageObj().updateImage(file,rename=None,RESPONSE=None)              self.getImageObj().updateImage(file,rename=None,RESPONSE=None)
         else:          else:
Line 110  class MPIWGStaff(CatalogAware,ZSQLExtend Line 139  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 195  class MPIWGStaff(CatalogAware,ZSQLExtend Line 232  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 204  class MPIWGStaff(CatalogAware,ZSQLExtend Line 242  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":
                   redURL="http://xserve04.mpiwg-berlin.mpg.de:18080/www_neu/de/mitarbeiter/members/%s/edit"%self.getId()
           
                   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)
         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'))
   
       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 263  class MPIWGStaff(CatalogAware,ZSQLExtend Line 316  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 310  class MPIWGStaff(CatalogAware,ZSQLExtend Line 366  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 319  class MPIWGStaff(CatalogAware,ZSQLExtend Line 376  class MPIWGStaff(CatalogAware,ZSQLExtend
             return pt()               return pt() 
         else:          else:
                           
             self.ZSQLChange(argv,_table="personal_www",_identify="<%s"%self.getDBId(),USE_FORM="yes")              self.ZSQLChange(argv,_table="personal_www",_identify="id=%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 354  class MPIWGStaff(CatalogAware,ZSQLExtend Line 411  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 391  class MPIWGStaff(CatalogAware,ZSQLExtend Line 450  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 400  class MPIWGStaff(CatalogAware,ZSQLExtend Line 459  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 424  class MPIWGStaff(CatalogAware,ZSQLExtend Line 483  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.6  
changed lines
  Added in v.1.10.2.21


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