Diff for /MPIWGWeb/MPIWGStaff.py between versions 1.10.2.5 and 1.10.2.12

version 1.10.2.5, 2005/10/12 19:35:38 version 1.10.2.12, 2005/10/18 13:00:04
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
   
 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 34  class MPIWGStaff(CatalogAware,ZSQLExtend
     meta_type="MPIWGStaff"      meta_type="MPIWGStaff"
     default_catalog='MembersCatalog'      default_catalog='MembersCatalog'
     departmentList=departmentList      departmentList=departmentList
       security=ClassSecurityInfo()
           
     def createNewDBEntry(self,publish_the_data,id,name,vorname,title,e_mail,e_mail_p,date_from,date_to,abteilung,heimat_inst,funded_by="",e_mail2="",txt="",txt_p="no"):      def getConnectionObj(self):#ueberschreibe connection id methode    
         """lege person in der datenbank an"""           
               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"):
           """lege person in der datenbank an"""
           msg=""
         #test ob id schon existiert          #test ob id schon existiert
         if self.ZSQLQuery("select id from personal_www where id='%s'"%id):          if self.ZSQLQuery("select id from personal_www where id='%s'"%id):
             return False,"id %s already exists"%id              return False,"ERROR:id %s already exists"%id
           
           if self.ZSQLQuery("select username from personal_www where username='%s' and publish_the_data='yes'"%username):
                   
               return False,"ERROR:username %s already exists and has data published, id=%s not added (running update again might solve this problem)"%(username,id)
           
           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)
         #eintragen          #eintragen
         columnlist="publish_the_data,id,name,vorname,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,e_mail,e_mail_p,date_from,date_to,abteilung,heimat_inst,funded_by,e_mail2"
         insertTuple=(publish_the_data,id,name,vorname,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,e_mail,e_mail_p,date_from,date_to,abteilung,heimat_inst,funded_by,e_mail2)
                   
         insert=[]          insert=[]
         for element in insertTuple:          for element in insertTuple:
Line 59  class MPIWGStaff(CatalogAware,ZSQLExtend Line 83  class MPIWGStaff(CatalogAware,ZSQLExtend
             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
       
       def updateDBEntry(self,publish_the_data,date_from,date_to,DBid=None): 
           """zpddatedb"""
           if not DBid:
               DBid=self.getDBId()
            
           self.ZSQLQuery("SET DATESTYLE TO 'German'")
   
           self.ZSQLChange(_table="personal_www",_identify="id=%s"%DBid,publish_the_data=publish_the_data,
                                      date_from=date_from,
                                      date_to=date_to)
                     
             
     def getPublicationSelectionMode(self):      def getPublicationSelectionMode(self):
         """get publication selection mode, default 'priority'"""          """get publication selection mode, default 'priority'"""
         return getattr(self,'publicationSelectionMode','priority')          return getattr(self,'publicationSelectionMode','priority')
Line 79  class MPIWGStaff(CatalogAware,ZSQLExtend Line 117  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 176  class MPIWGStaff(CatalogAware,ZSQLExtend Line 215  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 185  class MPIWGStaff(CatalogAware,ZSQLExtend Line 225  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 244  class MPIWGStaff(CatalogAware,ZSQLExtend Line 299  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"""
   
Line 258  class MPIWGStaff(CatalogAware,ZSQLExtend Line 314  class MPIWGStaff(CatalogAware,ZSQLExtend
          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"""
   
Line 272  class MPIWGStaff(CatalogAware,ZSQLExtend Line 329  class MPIWGStaff(CatalogAware,ZSQLExtend
          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 291  class MPIWGStaff(CatalogAware,ZSQLExtend Line 349  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 300  class MPIWGStaff(CatalogAware,ZSQLExtend Line 359  class MPIWGStaff(CatalogAware,ZSQLExtend
             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 335  class MPIWGStaff(CatalogAware,ZSQLExtend Line 394  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 372  class MPIWGStaff(CatalogAware,ZSQLExtend Line 433  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 381  class MPIWGStaff(CatalogAware,ZSQLExtend Line 442  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 420  class MPIWGStaff(CatalogAware,ZSQLExtend Line 481  class MPIWGStaff(CatalogAware,ZSQLExtend
           
     def getDBId(self):      def getDBId(self):
         """get id from the personal database"""          """get id from the personal database"""
         search=self.ZSQLInlineSearch(_table='personal_www',username=self.getId())          search=self.ZSQLInlineSearch(_table='personal_www',username=self.getId(),publish_the_data='yes')
         if search:          if search:#name existiert und published, dann nimm diesen falls es mehrereeventuell nich publizierte datensaetze gibt.
             return search[0].id              return search[0].id
           else:#nicht publiziert dann nimm einen davon
               search2=self.ZSQLInlineSearch(_table='personal_www',username=self.getId())
               if search2:
                   return search2[0].id
         else:          else:
             return None              return None
                   

Removed from v.1.10.2.5  
changed lines
  Added in v.1.10.2.12


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