Diff for /MPIWGWeb/MPIWGStaff.py between versions 1.10.2.50 and 1.10.2.61

version 1.10.2.50, 2008/08/26 15:01:41 version 1.10.2.61, 2008/09/12 15:54:49
Line 13  from Products.versionedFile.extVersioned Line 13  from Products.versionedFile.extVersioned
 import os  import os
 import logging  import logging
 import bibliography  import bibliography
   import email
 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  from AccessControl import ClassSecurityInfo
 import time  import time
 import logging  import logging
   import email
   import re
   from OFS.Cache import Cacheable
   
   from MPIWGHelper import *
 #ersetzt logging  #ersetzt logging
 def logger(txt,method,txt2):  def logger(txt,method,txt2):
     """logging"""       """logging""" 
Line 52  def createNewDBEntry(self,publish_the_da Line 57  def createNewDBEntry(self,publish_the_da
             return False,"ERROR:key%s already exists"%key              return False,"ERROR:key%s already exists"%key
                   
         #eintragen          #eintragen
         columnlist="""publish_the_data,key,last_name,first_name,title,status,e_mail,e_mail_p,date_from,date_to,department,home_inst,funded_by,e_mail2,date_stay_at_mpiwg,web_object_created,"group" """          columnlist="""publish_the_data,key,last_name,first_name,title,status,e_mail,e_mail_p,date_from,date_to,department,home_inst,funded_by,e_mail2,date_stay_at_mpiwg,web_object_created,"group",current_work,current_work_p """
         insertTuple=(publish_the_data,key,name,vorname,title,position,e_mail,e_mail_p,date_from,date_to,abteilung,heimat_inst,funded_by,e_mail2,stay_at_mpiwg,web_object_created,group)          insertTuple=(publish_the_data,key,name,vorname,title,position,e_mail,e_mail_p,date_from,date_to,abteilung,heimat_inst,funded_by,e_mail2,stay_at_mpiwg,web_object_created,group,current_work,"yes")
                   
         insert=[]          insert=[]
         for element in insertTuple:          for element in insertTuple:
Line 68  def createNewDBEntry(self,publish_the_da Line 73  def createNewDBEntry(self,publish_the_da
         self.ZSQLQuery(queryStr)          self.ZSQLQuery(queryStr)
         logging.info("QQQQ %s:"%queryStr)          logging.info("QQQQ %s:"%queryStr)
         #currentwork          #currentwork
         if not (current_work==""):          #if not (current_work==""):
             queryStr="INSERT INTO current_work (key_main,current,publish) VALUES ('%s',%s,'%s')"%(key,self.ZSQLQuote(current_work),"yes")          #    queryStr="INSERT INTO current_work (key_main,current,publish) VALUES ('%s',%s,'%s')"%(key,self.ZSQLQuote(current_work),"yes")
   
             self.ZSQLQuery(queryStr)          #  self.ZSQLQuery(queryStr)
                   
         return True,msg          return True,msg
 class MPIWGStaff(CatalogAware,ZSQLExtendFolder):  class MPIWGStaff(CatalogAware,ZSQLExtendFolder,Cacheable):
     """Staff"""      """Staff"""
   
     meta_type="MPIWGStaff"      meta_type="MPIWGStaff"
Line 91  class MPIWGStaff(CatalogAware,ZSQLExtend Line 96  class MPIWGStaff(CatalogAware,ZSQLExtend
             addStr="&time=%s"              addStr="&time=%s"
         else:          else:
             addStr="?time=%s"              addStr="?time=%s"
               
           RESPONSE.setHeader('Last-Modified',email.Utils.formatdate().split("-")[0]+'GMT')
           logging.error(email.Utils.formatdate()+' GMT')
         RESPONSE.redirect(url+addStr%timeStamp)          RESPONSE.redirect(url+addStr%timeStamp)
                   
       def getKeyUTF8(self):
           """get db_key utf8"""
           return utf8ify(self.getKey())
       
     def getKey(self):      def getKey(self):
         """get database key"""          """get database key"""
         if hasattr(self,'key'):          if hasattr(self,'key'):
             return self.key.lower()              #logging.error("SAVED KEY:%s"%self.key)
               return unicodify(self.key.lower())
               #return self.key.lower()
                   
         #fuer alt faelle ohne key          #fuer alt faelle ohne key
           #logging.error("NEW KEY:%s"%(self.firstName+'_'+self.lastName).lower().replace(' ',''))
         return (self.firstName+'_'+self.lastName).lower().replace(' ','')          return (self.firstName+'_'+self.lastName).lower().replace(' ','')
                   
     def getConnectionObj(self):#ueberschreibe connection id methode          def getConnectionObj(self):
                     """returns connection id (from root)"""
             return getattr(self.de,self.de.connection_id)           root = self.getMPIWGRoot()
            return root.getConnectionObj()
                   
     def isPublished(self):      def isPublished(self):
         """gib publications status aus der datenbank aus"""          """gib publications status aus der datenbank aus"""
Line 299  class MPIWGStaff(CatalogAware,ZSQLExtend Line 315  class MPIWGStaff(CatalogAware,ZSQLExtend
         """          """
         return self.id          return self.id
   
     def harvest_page(self):      def harvest_page_old(self,context=None):
         """geharvestete seite = verschlankte version von members_main"""          """geharvestete seite = verschlankte version von members_main"""
         pt = getTemplate(self, "harvest_members_main")          #pt = getTemplate(self, "harvest_members_main")
           
           if not self.isPublished():
               return ""
           if not context:
               context=self
               
           
           ext=getattr(self,"harvest_members_main",None)
           if ext:
               return getattr(self,ext.getId())()
           
           pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','harvest_members_main')).__of__(context)    
   
   
         return pt()          return pt()
   
       def harvest_page(self):
           """harvest"""
           if not self.isPublished():
               return ""
           return getattr(self.en.staff.members,self.getId()).index_html()
           
       
     def index_html(self):      def index_html(self):
         """show homepage"""          """show homepage"""
         pt = getTemplate(self, "members_main")          pt = getTemplate(self, "members_main")
Line 370  class MPIWGStaff(CatalogAware,ZSQLExtend Line 407  class MPIWGStaff(CatalogAware,ZSQLExtend
         #        self.REQUEST.RESPONSE.redirect(redURL)          #        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)
           
           
           logging.error("XX:"+email.Utils.formatdate().split("-")[0]+'GMT')
         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'))
Line 384  class MPIWGStaff(CatalogAware,ZSQLExtend Line 424  class MPIWGStaff(CatalogAware,ZSQLExtend
             return style                  return style    
   
   
       def getLabel(self):
           """returns a label for this object"""
           return self.title
   
       def getBreadcrumbs(self):
           """return list of breadcrumbs from here to the root"""
           crumbs = []
           # skip direct parent Folder /members/
           parent = self.aq_parent.aq_parent
           # get parents breadcrumbs
           logging.debug("getbreadcrumbs-: title=%s self=%s parent=%s"%(self.title, repr(self), repr(parent)))
           if hasattr(parent, 'getBreadcrumbs'):
               logging.debug("getbreadcrumbs: recurse to %s"%parent)
               crumbs = parent.getBreadcrumbs()
           
           # try to get acquisition URL from parent
           if hasattr(parent, 'absolute_url'):
               baseUrl = "%s/%s/"%(parent.absolute_url(), 'members')
           else:
               baseUrl = "/en/staff/members/"
               
           # add this
           crumbs.append((self.getLabel(), baseUrl+self.getId(), self))
               
           return crumbs
   
   
     def changeCurrentWork(self,current_work,key,publish="yes",RESPONSE=None):      def changeCurrentWork(self,current_work,key,publish="yes",RESPONSE=None):
         """change current work"""          """change current work"""
                   
Line 468  class MPIWGStaff(CatalogAware,ZSQLExtend Line 535  class MPIWGStaff(CatalogAware,ZSQLExtend
           
     def getProfile(self):      def getProfile(self):
         """get the profile"""          """get the profile"""
       self.REQUEST.RESPONSE.setHeader('Last-Modified',email.Utils.formatdate().split("-")[0]+'GMT')
         
         founds=self.ZSQLInlineSearchU(_table='personal_www',key=self.getKey())          founds=self.ZSQLInlineSearchU(_table='personal_www',key=self.getKey())
         html="""<html><body>%s</body></html>"""          html="""<html><body>%s</body></html>"""
         if founds.profile and founds.profile != "":          if founds.profile and founds.profile != "":
Line 522  class MPIWGStaff(CatalogAware,ZSQLExtend Line 591  class MPIWGStaff(CatalogAware,ZSQLExtend
         ret=""          ret=""
         founds=self.ZSQLInlineSearch(_table='research_interest',key_main=person.key)          founds=self.ZSQLInlineSearch(_table='research_interest',key_main=person.key)
         if founds:          if founds:
             ret="Research interests: <br/><br/>"              ret="<p class=\"bio_section_header\">Research interests: </p><br/>"
         for found in self.sortPriority(founds):          for found in self.sortPriority(founds):
             ret+=found.interest+"<br/>"              ret+=found.interest+"<br/>"
                   
                   
         if (person.current_work) and (not person.current_work==""):          if (person.current_work) and (not person.current_work==""):
             ret="Current work: <br/><br/>"              ret+="<p class=\"bio_section_header\">Current work: </p><br/>"
               
             ret+=person.current_work+"<br/>"              ret+=person.current_work+"<br/>"
               if (person.cv) and (not person.cv==""):
         ret+="<br/>"              ret+="<p class=\"bio_section_header\">Curriculum Vitae: </p><br/>"
         ret+=self.formatAscii(person.cv)          ret+=self.formatAscii(person.cv)
                   
         return ret          return ret
Line 657  class MPIWGStaff(CatalogAware,ZSQLExtend Line 726  class MPIWGStaff(CatalogAware,ZSQLExtend
         self.sortingMode=sortingMode          self.sortingMode=sortingMode
                   
         if RESPONSE and REQUEST:          if RESPONSE and REQUEST:
             REQUEST.self.redirect(RESPONSE,REQUEST['HTTP_REFERER'])              self.redirect(RESPONSE,REQUEST['HTTP_REFERER'])
   
         return True          return True
   
Line 684  class MPIWGStaff(CatalogAware,ZSQLExtend Line 753  class MPIWGStaff(CatalogAware,ZSQLExtend
         self.redirect(RESPONSE,self.REQUEST['HTTP_REFERER'])          self.redirect(RESPONSE,self.REQUEST['HTTP_REFERER'])
                   
   
     
     security.declareProtected('View management screens','addPublications')          security.declareProtected('View management screens','addPublications')    
     def addPublications(self,submit=None,REQUEST=None,noredirect=None,RESPONSE=None):      def addPublications(self,submit=None,REQUEST=None,noredirect=None,RESPONSE=None):
         """add publications"""          """add publications"""
Line 798  class MPIWGStaff(CatalogAware,ZSQLExtend Line 868  class MPIWGStaff(CatalogAware,ZSQLExtend
         tmp.sort(sort)                     tmp.sort(sort)           
         return tmp          return tmp
           
     def deleteField(self,table,oid):      def deleteField(self,table,oid,RESPONSE=None):
         """delete entry"""          """delete entry"""
         query="DELETE FROM %s WHERE oid = '%s'"%(table,oid)          query="DELETE FROM %s WHERE oid = '%s'"%(table,oid)
   
         self.ZSQLQuery(query)          self.ZSQLQuery(query)
         self.REQUEST.self.redirect(RESPONSE,self.REQUEST['HTTP_REFERER'])          self.redirect(RESPONSE,self.REQUEST['HTTP_REFERER'])
                   
           
 def manage_addMPIWGStaffForm(self):  def manage_addMPIWGStaffForm(self):

Removed from v.1.10.2.50  
changed lines
  Added in v.1.10.2.61


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