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

version 1.10.2.4, 2005/10/11 13:14:01 version 1.10.2.5, 2005/10/12 19:35:38
Line 1 Line 1
 """This file contains the classes for the organization of the staff"""  """This file contains the classes for the organization of the staff"""
 # TODO: pruefe ob die id der einzelnen tabellen, wie id in publications noch benutzt werden  # TODO: pruefe ob die id der einzelnen tabellen, wie id in publications noch benutzt werden
 # TODO: pruefe ob die bibliographischen felder in publications noch benutzt werden  # TODO: pruefe ob die bibliographischen felder in publications noch benutzt werden
 # TODO: auswahl der ausgewaehlten publication auf der ersten seite der homepage  # TODO: wird username gebraucht?
   
 from OFS.Folder import Folder  from OFS.Folder import Folder
 from Products.ZSQLExtend.ZSQLExtend import ZSQLExtendFolder  from Products.ZSQLExtend.ZSQLExtend import ZSQLExtendFolder
Line 14  from Globals import package_home Line 14  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 *
   
   departmentList="Renn\nRheinberger\nDaston\nKlein\nSibum\nIT\nInstitut\nBibliothek"
   
   
 def getTemplate(self, tpName):  def getTemplate(self, tpName):
     """get a template file either form the instance or from the product"""      """get a template file either form the instance or from the product"""
Line 30  class MPIWGStaff(CatalogAware,ZSQLExtend Line 32  class MPIWGStaff(CatalogAware,ZSQLExtend
   
     meta_type="MPIWGStaff"      meta_type="MPIWGStaff"
     default_catalog='MembersCatalog'      default_catalog='MembersCatalog'
       departmentList=departmentList
       
       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"):
           """lege person in der datenbank an"""
           
           #test ob id schon existiert
           if self.ZSQLQuery("select id from personal_www where id='%s'"%id):
               return False,"id %s already exists"%id
           
           #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"
           insertTuple=(publish_the_data,id,name,vorname,title,e_mail,e_mail_p,date_from,date_to,abteilung,heimat_inst,funded_by,e_mail2)
           
           insert=[]
           for element in insertTuple:
               insert.append("'%s'"%element)
           
           insertStr=",".join(insert)
           queryStr="INSERT INTO personal_www (%s) VALUES (%s)"%(columnlist,insertTuple)
           
           self.ZSQLQuery(queryStr)
           
           #currentwork
           if not (txt==""):
               queryStr="INSERT INTO current_work (id_main,current,publish) VALUES ('%s','%s','%s')"%(id,txt,txt_p)
               self.ZSQLQuery(queryStr)
            
       def getPublicationSelectionMode(self):
           """get publication selection mode, default 'priority'"""
           return getattr(self,'publicationSelectionMode','priority')
           
       def changePublicationSelectionMode(self,publicationSelectionMode,RESPONSE=None):
           """change PublicationSelectionMode"""
           
           self.publicationSelectionMode=publicationSelectionMode
           
           if RESPONSE:
               RESPONSE.redirect("editPublications")
               
               
       def getPublishImage(self):
           """publish the image??, default no"""
           return getattr(self,'publishImage','no')
       
       def updateImage(self,file,publishImage,rename=None,RESPONSE=None):
           """update image"""
           
           if self.getImageObj():
               self.getImageObj().updateImage(file,rename=None,RESPONSE=None)
           else:
               self.getImageFolder().addImage2(file,fileName=self.getId())
               
           self.publishImage=publishImage
           
           if RESPONSE:
               RESPONSE.redirect("edit")
               
       def getImageFolder(self):
           """getImageFolder"""
           return self.getPhysicalRoot().www_neu.images.staff_images
       
       def getImageObj(self):
           """getImage"""
           imageFolder=self.getImageFolder()
           
           image=getattr(imageFolder,self.getId(),None)
   
           if not image:
               for suffix in ['jpg','tif']:
                   
                   image=getattr(imageFolder,self.getId()+"."+suffix,None)
                   if image:
                       break
           return image
               
       def getImageUrl(self):
           """getImageUrl"""
           image=self.getImageObj()
           if not image:
               return None
           else:
               return self.getImageObj().absolute_url()+"/image"
           
     def PrincipiaSearchSource(self):      def PrincipiaSearchSource(self):
         """Return cataloguable key for ourselves."""          """Return cataloguable key for ourselves."""
Line 207  class MPIWGStaff(CatalogAware,ZSQLExtend Line 291  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)
           
       def editMainData(self,REQUEST=None,RESPONSE=None,name=None,**argv):
           """edit main data"""
           
       
           if not name:
               pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','editMainData.zpt')).__of__(self)
               return pt() 
           else:
               
               self.ZSQLChange(argv,_table="personal_www",_identify="id=%s"%self.getDBId(),USE_FORM="yes")
               if RESPONSE:
                   RESPONSE.redirect("editMainData")
                   
                 
     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"""
         if not _docType: #kein docType          if not _docType: #kein docType
             pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','newBibliographyEntryDocType.zpt')).__of__(self)              pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','newBibliographyEntryDocType.zpt')).__of__(self)
Line 217  class MPIWGStaff(CatalogAware,ZSQLExtend Line 316  class MPIWGStaff(CatalogAware,ZSQLExtend
             pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','newBibliographyEntry.zpt')).__of__(self)              pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','newBibliographyEntry.zpt')).__of__(self)
             return pt()               return pt() 
         else: #doctype und daten          else: #doctype und daten
               try:
             newId=self.ZSQLSimpleSearch("select nextval('id_raw')")[0].nextval              newId=self.ZSQLSimpleSearch("select nextval('id_raw')")[0].nextval
               except:#id_raw existiert nich, dann neu erzeugen
                   
                   self.createOrUpdateId_raw()
                   newId=self.ZSQLSimpleSearch("select nextval('id_raw')")[0].nextval
                                   
             bookId="b%06i" % newId              bookId="b%06i" % newId
                           
             self.ZSQLAdd(argv,_table="bibliography",reference_type=_docType,id=bookId)              self.ZSQLAdd(argv,_table="bibliography",reference_type=_docType,id=bookId)
Line 230  class MPIWGStaff(CatalogAware,ZSQLExtend Line 335  class MPIWGStaff(CatalogAware,ZSQLExtend
                           
         return True          return True
           
       def editImage(self):
           """edit images"""
           pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','editImageStaff.zpt')).__of__(self)
           return pt()
       
     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)
Line 293  class MPIWGStaff(CatalogAware,ZSQLExtend Line 403  class MPIWGStaff(CatalogAware,ZSQLExtend
                           
         for bibId in entries:           for bibId in entries: 
             query="INSERT INTO %s " % "publications"              query="INSERT INTO %s " % "publications"
             query+="(id_main,id_institutsbibliographie) "              query+="(id_main,id_institutsbibliographie,publish) "
             query+="VALUES ('%s','%s')" %(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.ZSQLQuery(query)              self.ZSQLQuery(query)
             
         self.updatePublicationDB(personId=self.getDBId())          self.updatePublicationDB(personId=self.getDBId())
Line 319  class MPIWGStaff(CatalogAware,ZSQLExtend Line 430  class MPIWGStaff(CatalogAware,ZSQLExtend
           
     formatBiblHelp=bibliography.formatBiblHelp      formatBiblHelp=bibliography.formatBiblHelp
           
     def sortBibliography(self,list):      def sortBibliography(self,list,sortingMode=None):
           if not sortingMode:
         sortingMode=self.getSortingMode()          sortingMode=self.getSortingMode()
       
         if sortingMode == "year":          if sortingMode == "year":
             return self.sortYear(list)              return self.sortYear(list)
         else:          else:
Line 367  class MPIWGStaff(CatalogAware,ZSQLExtend Line 480  class MPIWGStaff(CatalogAware,ZSQLExtend
     def deleteField(self,table,oid):      def deleteField(self,table,oid):
         """delete entry"""          """delete entry"""
         query="DELETE FROM %s WHERE oid = '%s'"%(table,oid)          query="DELETE FROM %s WHERE oid = '%s'"%(table,oid)
         print "query"  
         self.ZSQLQuery(query)          self.ZSQLQuery(query)
         self.REQUEST.RESPONSE.redirect(self.REQUEST['HTTP_REFERER'])          self.REQUEST.RESPONSE.redirect(self.REQUEST['HTTP_REFERER'])
                   

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


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