Diff for /ECHO_content/ECHO_Nav.py between versions 1.72 and 1.79

version 1.72, 2006/02/03 20:41:29 version 1.79, 2007/01/31 14:12:38
Line 31  import os.path Line 31  import os.path
 import urllib  import urllib
 from ECHO_helpers import displayTypes,checkOnlyOneInGroup  from ECHO_helpers import displayTypes,checkOnlyOneInGroup
 from ECHO_collection import content_html  from ECHO_collection import content_html
 import zLOG  import logging
   
   #def ersetzt logging
   def logger(txt,method,txt2):
       """logging"""
       logging.info(txt+ txt2)
   
   
 try:      try:    
     from Products.ZSQLExtend.ZSQLExtend import ZSQLExtendFolder      from Products.ZSQLExtend.ZSQLExtend import ZSQLExtendFolder
 except:  except:
     zLOG.LOG('ECHO_Nav',zLOG.INFO,'ZSQLSimpleSearch not supported')      logger('ECHO_Nav',logging.INFO,'ZSQLSimpleSearch not supported')
   
   
   
Line 273  class ECHO_sqlElement(SimpleItem): Line 279  class ECHO_sqlElement(SimpleItem):
     try:          try:    
         searchQuery=ZSQLExtendFolder.ZSQLSimpleSearch          searchQuery=ZSQLExtendFolder.ZSQLSimpleSearch
     except:      except:
         zLOG.LOG('ECHO_Nav',zLOG.INFO,'ZSQLSimpleSearch not supported')          logger('ECHO_Nav',logging.INFO,'ZSQLSimpleSearch not supported')
                           
     def getNavList(self):       def getNavList(self): 
         """ausgabe der treffer list fuer navigation"""          """ausgabe der treffer list fuer navigation"""
Line 286  class ECHO_sqlElement(SimpleItem): Line 292  class ECHO_sqlElement(SimpleItem):
         except:          except:
                 records=self.searchQuery(self.aq_parent,query=self.query) #python 2.4 version (??)                  records=self.searchQuery(self.aq_parent,query=self.query) #python 2.4 version (??)
         except:          except:
             records=self.searchQuery()#python 2.3 version(??)              records=self.searchQuery(query=self.query)#python 2.3 version(??)
               
                   
         if not records:          if not records:
Line 297  class ECHO_sqlElement(SimpleItem): Line 303  class ECHO_sqlElement(SimpleItem):
                 try:                  try:
                     ret.append((getattr(record,self.field),self.baseUrl+urllib.quote(str(getattr(record,self.getSearchField())))))                      ret.append((getattr(record,self.field),self.baseUrl+urllib.quote(str(getattr(record,self.getSearchField())))))
                 except:                  except:
                       logger('ECHO_Nav',logging.INFO,"error, search")
                     """notrhing"""                      """notrhing"""
                                           
             return ret              return ret
Line 437  class ECHO_navigation(Folder): Line 444  class ECHO_navigation(Folder):
     """Navigations Element"""      """Navigations Element"""
     meta_type="ECHO_Navigation"      meta_type="ECHO_Navigation"
     management_page_charset="utf-8"      management_page_charset="utf-8"
       
       def getUsername(self):
           """get name of user"""
           username=str(self.REQUEST['AUTHENTICATED_USER'])
           if username=='Anonymous User':
               return None
           else:
               return username
           
     def searchExternalCollection(self,url,simpleSearch):      def searchExternalCollection(self,url,simpleSearch):
         """search external collection via xmlrpc"""          """search external collection via xmlrpc"""
         server=xmlrpclib.Server(url)          server=xmlrpclib.Server(url)
Line 489  class ECHO_navigation(Folder): Line 505  class ECHO_navigation(Folder):
         if not str:          if not str:
             return ""              return ""
         if type(str) is StringType:          if type(str) is StringType:
                       try:            
             return str.decode('utf-8')              return str.decode('utf-8')
           except:
           return str.decode('latin-1')
         else:          else:
                           
             return str              return str
Line 618  class ECHO_navigation(Folder): Line 636  class ECHO_navigation(Folder):
         obj=objtemp                obj=objtemp      
   
         for keys in obj.ZopeFind(obj,obj_metatypes=self.displayedMetaTypes):          for keys in obj.ZopeFind(obj,obj_metatypes=self.displayedMetaTypes):
               logging.info("createNavHash: %s"%repr(keys))
             x=keys[1]              x=keys[1]
             if depth>1:              if depth>1:
                 nav[x.getId()]=(self.getColls(x,int(depth)-1,checkOnly),x)                  nav[x.getId()]=(self.getColls(x,int(depth)-1,checkOnly),x)
Line 695  class ECHO_navigation(Folder): Line 714  class ECHO_navigation(Folder):
                             try:                              try:
                                 label=temp[x][1].getTitle()                                  label=temp[x][1].getTitle()
                             except:                              except:
                                 zLOG.LOG("ECHO_Nav",zLOG.ERROR,"%s has neither getLabel nor getTile implemented"%temp[x][1].getId())                                  logger("ECHO_Nav",logging.ERROR,"%s has neither getLabel nor getTile implemented"%temp[x][1].getId())
                                 label=""                                  label=""
                     else:                      else:
                         label=temp[x][1].getTitle()                          label=temp[x][1].getTitle()
Line 867  class ECHO_navigation(Folder): Line 886  class ECHO_navigation(Folder):
             nr=0              nr=0
         return nr+1          return nr+1
           
       def subNavStatic(self,obj):
           """subnav" von self"""
           def sortWeight(x,y):
               x1=int(getattr(x[1],'weight','0'))
               y1=int(getattr(y[1],'weight','0'))
               return cmp(x1,y1)
           print "obj",obj
           subs=self.ZopeFind(obj,obj_metatypes=self.displayedMetaTypes)
           subret=[]
           
           for x in subs:
               if not(x[1].title==""):
                   subret.append(x)
           subret.sort(sortWeight)
           return subret
       
     def secondNavElements(self):      def secondNavElements(self):
         """Zweite Ordnung Navigationselemente"""          """Zweite Ordnung Navigationselemente"""
                   
         hash=self.createNavHash(2,checkOnly="no")          hash=self.createNavHash(2,checkOnly="no")
                   logging.info("secondNavElements %s"%repr(hash))
         actual_url=self.REQUEST['URL']          actual_url=self.REQUEST['URL']
                   
         ult_temp=re.sub(self.absolute_url(),"",actual_url)          ult_temp=re.sub(self.absolute_url(),"",actual_url)
Line 968  def createPath(self,url1,url2): Line 1003  def createPath(self,url1,url2):
           
     if self.REQUEST.has_key('VirtualRootPhysicalPath'):      if self.REQUEST.has_key('VirtualRootPhysicalPath'):
         vp="/".join(self.REQUEST['VirtualRootPhysicalPath'])          vp="/".join(self.REQUEST['VirtualRootPhysicalPath'])
           if (len(vp)>0):
         if vp[0]=="/":          if vp[0]=="/":
             vp=vp[1:]              vp=vp[1:]
                   

Removed from v.1.72  
changed lines
  Added in v.1.79


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