Diff for /ECHO_content/ECHO_Nav.py between versions 1.74 and 1.84.2.4

version 1.74, 2006/03/02 19:59:03 version 1.84.2.4, 2012/09/03 14:14:27
Line 1 Line 1
 # Objekte zur Erzeugung von Navigationselement  # Objekte zur Erzeugung von Navigationselement
   # 29-8-2012 Referenzen zum Storagemanager entfernt
   
 from AccessControl import ClassSecurityInfo  from AccessControl import ClassSecurityInfo
 from Globals import DTMLFile  from Globals import DTMLFile
 from OFS.Image import Image,cookId  from OFS.Image import Image,cookId
Line 29  from Products.PageTemplates.ZopePageTemp Line 31  from Products.PageTemplates.ZopePageTemp
 import os.path  import os.path
   
 import urllib  import urllib
 from ECHO_helpers import displayTypes,checkOnlyOneInGroup  import ECHO_helpers
   from ECHO_helpers import displayTypes,checkOnlyOneInGroup,unicodify
 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 81  class ECHO_ZCatalogElement(SimpleItem): Line 90  class ECHO_ZCatalogElement(SimpleItem):
     def changeECHO_ZCatalogElementForm(self):      def changeECHO_ZCatalogElementForm(self):
         """change"""          """change"""
                   
         pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','changeECHO_ZCatalogElement.zpt')).__of__(self)          pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','ChangeECHO_ZCatalogElement.zpt')).__of__(self)
         return pt()          return pt()
   
     def changeECHO_ZCatalogElement(self,title,field,catalogId,baseUrl,weight,contentType,RESPONSE=None):      def changeECHO_ZCatalogElement(self,title,field,catalogId,baseUrl,weight,contentType,RESPONSE=None):
Line 273  class ECHO_sqlElement(SimpleItem): Line 282  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 295  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 306  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 374  class ECHO_pageTemplate(ZopePageTemplate Line 384  class ECHO_pageTemplate(ZopePageTemplate
         else:          else:
             return 0              return 0
   
       def getCrumb(self):
           """returns breadcrumb for this object"""
           return ECHO_helpers.getCrumb(self)
   
       def getHierCrumbs(self):
           """returns a list of hierarchical breadcrumbs from self to the ECHO_root"""
           return ECHO_helpers.getHierCrumbs(self);    
   
   
   
Line 495  class ECHO_navigation(Folder): Line 512  class ECHO_navigation(Folder):
           
     def decode(self,str):      def decode(self,str):
         """decoder"""          """decoder"""
         if not str:          return unicodify(str)
             return ""  
         if type(str) is StringType:  
         try:              
                 return str.decode('utf-8')  
         except:  
         return str.decode('latin-1')  
         else:  
               
             return str  
   
     def ECHOFormatListStr(self,list,search="\n",replace="<br>"):      def ECHOFormatListStr(self,list,search="\n",replace="<br>"):
         """formatiert liste im str"""          """formatiert liste im str"""
Line 558  class ECHO_navigation(Folder): Line 566  class ECHO_navigation(Folder):
   
     displayableMetaTypes=displayTypes      displayableMetaTypes=displayTypes
           
     def getImageViewers(self):  
         """images"""  
         viewers=self.ZopeFind(self.standardImageViewer,obj_metatypes=['OSAS_ViewerObject'])  
         return viewers  
           
     def getR(self):      def getR(self):
         """re"""          """re"""
Line 581  class ECHO_navigation(Folder): Line 585  class ECHO_navigation(Folder):
         )          )
     displayedMetaTypes=displayTypes      displayedMetaTypes=displayTypes
           
      
       
     def ECHO_navigationConfigForm(self):      def ECHO_navigationConfigForm(self):
         """configForm"""          """configForm"""
         pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','ChangeECHO_navigation.zpt')).__of__(self)          pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','ChangeECHO_navigation.zpt')).__of__(self)
Line 629  class ECHO_navigation(Folder): Line 635  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):
   
             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 706  class ECHO_navigation(Folder): Line 713  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 755  class ECHO_navigation(Folder): Line 762  class ECHO_navigation(Folder):
           
     if len(item)<2:      if len(item)<2:
         return 0          return 0
         #falls exakte Übereinstimmung dann immer 1          #falls exakte Uebereinstimmung dann immer 1
         if  (testStr==item[1]) and (self.REQUEST.get('QUERY_STRING','')==''):          if  (testStr==item[1]) and (self.REQUEST.get('QUERY_STRING','')==''):
                           
             return 1              return 1
Line 799  class ECHO_navigation(Folder): Line 806  class ECHO_navigation(Folder):
             return style              return style
                   
           
       def getCrumb(self):
           """returns breadcrumb for this object"""
           # ignore this object if title is empty
           if not self.title:
               return None
           
           # we use title for the label TODO: add label to ECHO_root
           crumb = {'obj': self,
                    'url': self.absolute_url(),
                    'label': self.title}
           return crumb        
   
       def getHierCrumbs(self):
           """returns a list of hierarchical breadcrumbs from self to the ECHO_root"""
           return ECHO_helpers.getHierCrumbs(self)
   
   
     def buttonsFromHash(self,hash,start=None,orientation="horizontal"):      def buttonsFromHash(self,hash,start=None,orientation="horizontal"):
                   
         """Generate Buttons"""          """Generate Buttons"""
Line 878  class ECHO_navigation(Folder): Line 902  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"""
                   
Line 979  def createPath(self,url1,url2): Line 1019  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.74  
changed lines
  Added in v.1.84.2.4


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