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

version 1.10.2.3, 2005/10/10 19:10:13 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 201  class MPIWGStaff(CatalogAware,ZSQLExtend Line 285  class MPIWGStaff(CatalogAware,ZSQLExtend
         pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','editTeaching.zpt')).__of__(self)          pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','editTeaching.zpt')).__of__(self)
         return pt()          return pt()
                   
       def getDocTypes(self):
           finds = self.ZopeFind(self.metadata.main.meta.bib,obj_metatypes=["OSAS_MetadataMapping__neu"])
   
           list= [x[0] for x in finds]
           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):
           
           """add an entry to the bibliography"""
           if not _docType: #kein docType
               pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','newBibliographyEntryDocType.zpt')).__of__(self)
               return pt() 
           elif _docType and not _addEntry: #doctype aber keine daten
               self.REQUEST['_docType']=_docType
               pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','newBibliographyEntry.zpt')).__of__(self)
               return pt() 
           else: #doctype und daten
               try:
                   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
               
               self.ZSQLAdd(argv,_table="bibliography",reference_type=_docType,id=bookId)
               self.ZSQLAdd(_table="publications",id_gen_bib=bookId,id_main=self.getDBId(),publish='yes')
               self.updatePublicationDB(personId=self.getDBId())
               
           
           if RESPONSE:
               RESPONSE.redirect("editPublications")
               
           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 227  class MPIWGStaff(CatalogAware,ZSQLExtend Line 366  class MPIWGStaff(CatalogAware,ZSQLExtend
         """get sorting mode"""          """get sorting mode"""
         return getattr(self,'sortingMode','priority')          return getattr(self,'sortingMode','priority')
           
       def integer(self,value):
           try:
               return int(value)
           except:
               return 0
           
           
     def changePublications(self):      def changePublications(self):
         """change the publication list"""          """change the publication list"""
           
         self.updatePublicationDB(personId=self.getDBId())  
         self.changeResearch(noredirect=True)          self.changeResearch(noredirect=True)
           
           #self.updatePublicationDB(personId=self.getDBId())
         self.REQUEST.RESPONSE.redirect(self.REQUEST['HTTP_REFERER'])          self.REQUEST.RESPONSE.redirect(self.REQUEST['HTTP_REFERER'])
   
   
   
     def addPublications(self,submit=None,REQUEST=None,noredirect=None):      def addPublications(self,submit=None,REQUEST=None,noredirect=None):
         """add publications"""          """add publications"""
   
Line 256  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 282  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 330  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.3  
changed lines
  Added in v.1.10.2.5


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