Diff for /MPIWGWeb/MPIWGStaff.py between versions 1.10.2.62 and 1.10.2.86

version 1.10.2.62, 2008/10/22 11:27:42 version 1.10.2.86, 2012/09/11 07:23:06
Line 25  import logging Line 25  import logging
 import email  import email
 import re  import re
 from OFS.Cache import Cacheable  from OFS.Cache import Cacheable
   import urllib2
   import transaction
   import SrvTxtUtils
   
 from MPIWGHelper import *  from MPIWGHelper import *
 #ersetzt logging  #ersetzt logging
Line 33  def logger(txt,method,txt2): Line 36  def logger(txt,method,txt2):
     logging.info(txt+ txt2)      logging.info(txt+ txt2)
   
 departmentList="Renn\nRheinberger\nDaston\nKlein\nSibum\nIT\nInstitut\nBibliothek"  departmentList="Renn\nRheinberger\nDaston\nKlein\nSibum\nIT\nInstitut\nBibliothek"
   coneService="http://127.0.0.1:8280/MetaDataManagerRestlet/cone/" # kann in MPIWGRoot konfiguriert werden.
   
   
 def getTemplate(self, tpName):  
     """get a template file either form the instance or from the product"""  
     ext=self.ZopeFind(self.aq_parent,obj_ids=[tpName])  
     if ext:  
         pt = getattr(self,ext[0][1].getId())  
     else:  
         pt=PageTemplateFile(os.path.join(package_home(globals()), 'zpt/'+tpName)).__of__(self)  
     assert(pt)  
     return pt  
   
 def createNewDBEntry(self,publish_the_data,key,name,vorname,title,position,e_mail,e_mail_p,date_from,date_to,abteilung,heimat_inst,funded_by="",e_mail2="",txt="",txt_p="no",stay_at_mpiwg="",group="",web_object_created="no",current_work=""):  def createNewDBEntry(self,publish_the_data,key,name,vorname,titles_new,position,e_mail,e_mail_p,date_from,date_to,abteilung,heimat_inst,funded_by="",e_mail2="",txt="",txt_p="no",stay_at_mpiwg="",group="",web_object_created="no",current_work=""):
         """lege person in der datenbank an"""          """lege person in der datenbank an"""
   
         if date_to=="": # wenn date_to leer          if date_to=="": # wenn date_to leer
Line 59  def createNewDBEntry(self,publish_the_da Line 54  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",current_work,current_work_p """          columnlist="""publish_the_data,key,last_name,first_name,titles_new,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,current_work,"yes")          insertTuple=(publish_the_data,key,name,vorname,titles_new,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 87  class MPIWGStaff(CatalogAware,ZSQLExtend Line 82  class MPIWGStaff(CatalogAware,ZSQLExtend
     meta_type="MPIWGStaff"      meta_type="MPIWGStaff"
     default_catalog='MembersCatalog'      default_catalog='MembersCatalog'
     departmentList=departmentList      departmentList=departmentList
       #_v_cone=None;
     security=ClassSecurityInfo()      security=ClassSecurityInfo()
           
     def redirect(self,RESPONSE,url):      def redirect(self,RESPONSE,url):
Line 105  class MPIWGStaff(CatalogAware,ZSQLExtend Line 101  class MPIWGStaff(CatalogAware,ZSQLExtend
                   
     def getKeyUTF8(self):      def getKeyUTF8(self):
         """get db_key utf8"""          """get db_key utf8"""
           logging.debug("KEY - MPIWGStaff:"+self.getKey())
           logging.debug("KEY - MPIWGStaff:"+utf8ify(self.getKey()))
           
         return utf8ify(self.getKey())          return utf8ify(self.getKey())
           
       def setKey(self,key):
       """set key"""
       self.key=key
   
     def getKey(self):      def getKey(self):
         """get database key"""          """get database key"""
         if hasattr(self,'key'):          if hasattr(self,'key'):
Line 120  class MPIWGStaff(CatalogAware,ZSQLExtend Line 123  class MPIWGStaff(CatalogAware,ZSQLExtend
                   
     def getConnectionObj(self):      def getConnectionObj(self):
          """returns connection id (from root)"""           """returns connection id (from root)"""
            try:
          root = self.getMPIWGRoot()           root = self.getMPIWGRoot()
          return root.getConnectionObj()           return root.getConnectionObj()
            except:
                return self.en.getConnectionObj()
                   
     def isPublished(self):      def isPublished(self):
         """gib publications status aus der datenbank aus"""          """gib publications status aus der datenbank aus"""
Line 237  class MPIWGStaff(CatalogAware,ZSQLExtend Line 243  class MPIWGStaff(CatalogAware,ZSQLExtend
         """publish the image??, default no"""          """publish the image??, default no"""
         return getattr(self,'publishImage','no')          return getattr(self,'publishImage','no')
           
     def updateImage(self,file,publishImage,rename=None,RESPONSE=None):      def updateImage(self,publishImage,file=None,rename=None,RESPONSE=None):
         """update image"""          """update image"""
   
         if file and not(file.filename==""):          if file and not(file.filename==""):
Line 318  class MPIWGStaff(CatalogAware,ZSQLExtend Line 324  class MPIWGStaff(CatalogAware,ZSQLExtend
         """          """
         return self.id          return self.id
   
       def getConeUrl(self):
           """gibt coneURL zurueck"""
           
           self.coneService=getattr(self, "coneServiceURL",coneService)
           logging.debug("coneservice:"+self.coneService)
           
           if getattr(self,'_v_cone',None)==None:
               try:  
                   
                   self._v_cone=SrvTxtUtils.getHttpData(self.coneService+self.getPersonID())
                   #cone = urllib2.urlopen(self.coneService+self.getPersonID())              
                   #self._v_cone=cone.read()
                   if self._v_cone==None:
                       self._v_cone=""
               except:
                   self._v_cone=""
                   return ""
               
           return self._v_cone
              
              
           
           
     def harvest_page_old(self,context=None):      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")
Line 337  class MPIWGStaff(CatalogAware,ZSQLExtend Line 366  class MPIWGStaff(CatalogAware,ZSQLExtend
   
         return pt()          return pt()
   
     def harvest_page(self):      def harvest_page(self,mode="normal"):
         """harvest"""          """harvest"""
           logging.debug("AAAAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")
         if not self.isPublished():          if not self.isPublished():
             return ""              return 
         return getattr(self.en.staff.members,self.getId()).index_html()          st = getattr(self.en.staff.members,self.getId()).index_html(mode)
           
           templates = self.en.getHarvestCache()
           #templates = getattr(self,'getHarvestCache',self.en.getHarvestCache)()
           rendered = st
           templates[self.absolute_url()]=rendered
           transaction.commit()
           return rendered
                   
           
     def index_html(self):      
       def index_html(self,mode="normal"):
         """show homepage"""          """show homepage"""
           
         bound_names={}          bound_names={}
Line 370  class MPIWGStaff(CatalogAware,ZSQLExtend Line 408  class MPIWGStaff(CatalogAware,ZSQLExtend
                 # Got a cached value.                  # Got a cached value.
                 return result                  return result
               
           # look for individual page
           if self.hasObject("index.html"):
               pt = getattr(self, "index.html")
           # else use template
           else:
               if mode=="slim":
                   pt = getTemplate(self, "members_main_slim")
               else:
         pt = getTemplate(self, "members_main")          pt = getTemplate(self, "members_main")
          # Execute the template in a new security context.           # Execute the template in a new security context.
         security.addContext(self)          security.addContext(self)
Line 436  class MPIWGStaff(CatalogAware,ZSQLExtend Line 482  class MPIWGStaff(CatalogAware,ZSQLExtend
         if key:          if key:
             self.key = key              self.key = key
   
           
         if RESPONSE is not None:          if RESPONSE is not None:
             self.redirect(RESPONSE,'manage_main')              self.redirect(RESPONSE,'manage_main')
                           
Line 451  class MPIWGStaff(CatalogAware,ZSQLExtend Line 498  class MPIWGStaff(CatalogAware,ZSQLExtend
         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')          logging.debug("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 580  class MPIWGStaff(CatalogAware,ZSQLExtend Line 627  class MPIWGStaff(CatalogAware,ZSQLExtend
         """get the profile"""          """get the profile"""
     self.REQUEST.RESPONSE.setHeader('Last-Modified',email.Utils.formatdate().split("-")[0]+'GMT')      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.getKeyUTF8())
         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 632  class MPIWGStaff(CatalogAware,ZSQLExtend Line 679  class MPIWGStaff(CatalogAware,ZSQLExtend
         """erzeugt ein automatisches Profil aus den alten Eintraegen  CV, Current work, und research interests"""          """erzeugt ein automatisches Profil aus den alten Eintraegen  CV, Current work, und research interests"""
                   
         ret=""          ret=""
           #founds=self.ZSQLInlineSearch(_table='research_interest',key_main=person.getKeyUTF8())
         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="<p class=\"bio_section_header\">Research interests: </p><br/>"              ret="<p class=\"bio_section_header\">Research interests: </p><br/>"
Line 675  class MPIWGStaff(CatalogAware,ZSQLExtend Line 723  class MPIWGStaff(CatalogAware,ZSQLExtend
               
          self.ZSQLQuery(query%(self.ZSQLQuote(awards),oid))           self.ZSQLQuery(query%(self.ZSQLQuote(awards),oid))
                   
           
          if RESPONSE:           if RESPONSE:
             self.redirect(RESPONSE,"editAwards")              self.redirect(RESPONSE,"editAwards")
   
Line 708  class MPIWGStaff(CatalogAware,ZSQLExtend Line 757  class MPIWGStaff(CatalogAware,ZSQLExtend
             pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','editMainData.zpt')).__of__(self)              pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','editMainData.zpt')).__of__(self)
             return pt()               return pt() 
         else:          else:
             self.ZSQLChange(argv,_table="personal_www",_identify="key=%s"%self.getKey(),USE_FORM="yes")              self.ZSQLChange(argv,_table="personal_www",_identify="lower(key)=%s"%utf8ify(self.getKey().lower()),USE_FORM="yes")
               # aendere auch dien enstsprechen infos in der instance
               self.changeMPIWGStaff(argv['last_name'],argv['first_name']);
               
               
               
               self.reindex_object()
               
               
               
             if RESPONSE:              if RESPONSE:
                 self.redirect(RESPONSE,"editMainData")                  self.redirect(RESPONSE,"editMainData")
                                   

Removed from v.1.10.2.62  
changed lines
  Added in v.1.10.2.86


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