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

version 1.10.2.2, 2005/10/10 08:42:48 version 1.10.2.3, 2005/10/10 19:10:13
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 bibliographischen felder in publications noch benutzt werden
   # TODO: auswahl der ausgewaehlten publication auf der ersten seite der homepage
   
 from OFS.Folder import Folder  from OFS.Folder import Folder
 from Products.ZSQLExtend.ZSQLExtend import ZSQLExtendFolder  from Products.ZSQLExtend.ZSQLExtend import ZSQLExtendFolder
 from Products.PageTemplates.PageTemplateFile import PageTemplateFile  from Products.PageTemplates.PageTemplateFile import PageTemplateFile
Line 8  import os Line 12  import os
 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 *
   
   
 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 195  class MPIWGStaff(CatalogAware,ZSQLExtend Line 201  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 editBibliography(self):
           """edit the bibliography"""
           pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','editBibliographyEntry.zpt')).__of__(self)
           return pt()
       
         
           
     def editPublications(self):      def editPublications(self):
         """edit the bibliographie"""          """edit the bibliographie"""
   
         pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','editPublications.zpt')).__of__(self)          pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','editPublications.zpt')).__of__(self)
         return pt()          return pt()
   
       def changeSortingMode(self,sortingMode,RESPONSE=None,REQUEST=None):
           """change sorting mode"""
           self.sortingMode=sortingMode
           
           if RESPONSE and REQUEST:
               REQUEST.RESPONSE.redirect(REQUEST['HTTP_REFERER'])
   
           return True
   
       def getSortingMode(self):
           """get sorting mode"""
           return getattr(self,'sortingMode','priority')
       
     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.REQUEST.RESPONSE.redirect(self.REQUEST['HTTP_REFERER'])          self.REQUEST.RESPONSE.redirect(self.REQUEST['HTTP_REFERER'])
   
   
     def addPublications(self):      def addPublications(self,submit=None,REQUEST=None,noredirect=None):
         """add publications"""          """add publications"""
   
           #setzte flag ob aufruf aus suchformular
           
           if REQUEST.get("QUERY_STRING",None) and (not submit):
               self.REQUEST.set('fromSearch','1')
           else:
               self.REQUEST.set('fromSearch','0')
                
           if not submit or (not (submit == "add")):
         pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','addPublications.zpt')).__of__(self)          pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','addPublications.zpt')).__of__(self)
         return pt()          return pt()
   
           #new entries
           entries = REQUEST.form.get('addEntries',None)
           if not (type(entries) is ListType):
               entries=[entries]
               
           for bibId in entries: 
               query="INSERT INTO %s " % "publications"
               query+="(id_main,id_institutsbibliographie) "
               query+="VALUES ('%s','%s')" %(sql_quote(self.getDBId()),sql_quote(bibId))
               
               self.ZSQLQuery(query)
        
           self.updatePublicationDB(personId=self.getDBId())
           
           if not noredirect:
               
               self.REQUEST.RESPONSE.redirect("./editPublications")
               
               return True
           
       
       def getDBId(self):
           """get id from the personal database"""
           search=self.ZSQLInlineSearch(_table='personal_www',username=self.getId())
           if search:
               return search[0].id
           else:
               return None
           
       
       
     formatBiblHelp=bibliography.formatBiblHelp      formatBiblHelp=bibliography.formatBiblHelp
           
     def sortPriority(self,list):      def sortBibliography(self,list):
         tmp=[x for x in list]          sortingMode=self.getSortingMode()
           if sortingMode == "year":
               return self.sortYear(list)
           else:
               return self.sortPriority(list)
                   
       def sortPriority(self,list):
         def sort(x,y):          def sort(x,y):
             try:              try:
                 xInt=int(x.priority)                  xInt=int(x.priority)
Line 231  class MPIWGStaff(CatalogAware,ZSQLExtend Line 302  class MPIWGStaff(CatalogAware,ZSQLExtend
   
             return cmp(xInt,yInt)              return cmp(xInt,yInt)
   
           tmp=[x for x in list]
           tmp.sort(sort)           
           return tmp
   
       def sortYear(self,list):
           #TODO: sort TO APPEAR and TO BE PUBLISHED etc...
           
           def sort(x,y):
               try:
                   xInt=int(x.year)
               except:
                   xInt=0
               try:
                   yInt=int(y.year)
               except:
                   yInt=0
   
               return cmp(yInt,xInt)
               
               
           tmp=[x for x in list]
           
         tmp.sort(sort)          tmp.sort(sort)
         return tmp          return tmp
   

Removed from v.1.10.2.2  
changed lines
  Added in v.1.10.2.3


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