Diff for /ECHO_content/ECHO_Nav.py between versions 1.17 and 1.27

version 1.17, 2004/04/28 15:50:12 version 1.27, 2004/05/11 14:57:35
Line 12  from Products.PageTemplates.ZopePageTemp Line 12  from Products.PageTemplates.ZopePageTemp
 import os.path  import os.path
 from Globals import package_home  from Globals import package_home
 import urllib  import urllib
   from ECHO_helpers import displayTypes,checkOnlyOneInGroup
   from ECHO_collection import content_html
   
 class ECHO_contentType(Image):  class ECHO_contentType(Image):
     """ContentType Object"""      """ContentType Object"""
Line 180  class ECHO_pageTemplate(ZopePageTemplate Line 182  class ECHO_pageTemplate(ZopePageTemplate
         {'label':'Weight and Type','action':'changeECHO_pageTemplateWeightForm'},          {'label':'Weight and Type','action':'changeECHO_pageTemplateWeightForm'},
         )          )
   
       def content_html(self):
       """content_html"""
       return content_html(self,'pageTemplate')
   
     def changeECHO_pageTemplateWeightForm(self):      def changeECHO_pageTemplateWeightForm(self):
         """change"""          """change"""
         pt=PageTemplateFile('Products/ECHO_content/zpt/ChangeECHO_pageTemplateWeight.zpt').__of__(self)          pt=PageTemplateFile('Products/ECHO_content/zpt/ChangeECHO_pageTemplateWeight.zpt').__of__(self)
Line 276  class ECHO_navigation(Folder): Line 282  class ECHO_navigation(Folder):
     """Navigations Element"""      """Navigations Element"""
     meta_type="ECHO_Navigation"      meta_type="ECHO_Navigation"
   
     displayedMetaTypes=['ECHO_group','ImageCollectionIFrame','ECHO_collection','ECHO_pageTemplate','ZSQLExtendFolder','ZSQLBibliography','ECHO_sqlElement','ECHO_resource','ECHO_externalLink']      displayedMetaTypes=displayTypes
           
     def __init__(self,id,title,pathToHierarchy):      def __init__(self,id,title,pathToHierarchy):
         """init"""          """init"""
Line 302  class ECHO_navigation(Folder): Line 308  class ECHO_navigation(Folder):
             RESPONSE.redirect('manage_main')              RESPONSE.redirect('manage_main')
   
   
     def getColls(self,obj,depth):      def getColls(self,obj,depth,checkOnly="no"):
         nav={}          nav={}
         #print "HERE",obj.          #print "HERE",obj.
         for keys in obj.__dict__.keys():          for x_objs in obj.ZopeFind(obj,obj_metatypes=self.displayedMetaTypes):
             x=getattr(obj,keys)              x=x_objs[1]
             if hasattr(x,"meta_type"):              if checkOnly=="yes":
                 if x.meta_type in self.displayedMetaTypes:                  x = checkOnlyOneInGroup(x)
                     if depth>1:                      if depth>1:
                         nav[x.getId()]=(self.getColls(x,depth-1),x)                          nav[x.getId()]=(self.getColls(x,depth-1),x)
                     else:                      else:
                         nav[x.getId()]=(None,x)                          nav[x.getId()]=(None,x)
         return nav          return nav
           
     def createNavHash(self,depth):      def createNavHash(self,depth,checkOnly="no"):
         """Auslesen des Hierarchiebuames"""          """Auslesen des Hierarchiebuames"""
         temp=self.pathToHierarchy[0:]          temp=self.pathToHierarchy[0:]
         temp=re.sub("/",".",temp)          temp=re.sub("/",".",temp)
Line 325  class ECHO_navigation(Folder): Line 331  class ECHO_navigation(Folder):
         nav={}          nav={}
         obj=objtemp          obj=objtemp
                   
         #exec(obj)  
   
         #objtemp = compile(temp,'<string>','single')  
         #obj=eval(objtemp)  
         #print obj   
           
         #print obj.__dict__.keys()  
                   
         for keys in obj.__dict__.keys():          for keys in obj.__dict__.keys():
             x=getattr(obj,keys)              x=getattr(obj,keys)
             if hasattr(x,"meta_type"):              if hasattr(x,"meta_type"):
                 #print x.meta_type  
                 if x.meta_type in self.displayedMetaTypes:                  if x.meta_type in self.displayedMetaTypes:
                                         
                     if depth>1:                      if depth>1:
                         nav[x.getId()]=(self.getColls(x,int(depth)-1),x)                          nav[x.getId()]=(self.getColls(x,int(depth)-1,checkOnly),x)
                     else:                      else:
                         nav[x.getId()]=(None,x)                          nav[x.getId()]=(None,x)
                                           
Line 392  class ECHO_navigation(Folder): Line 391  class ECHO_navigation(Folder):
                     for z in temp[x][1].getNavList():                      for z in temp[x][1].getNavList():
                         listNav.append((z[0],z[1],None))                          listNav.append((z[0],z[1],None))
                 else:                  else:
                     # add label fals existiert und nicht leer                      # add label falls existiert und nicht leer
                     if hasattr(temp[x][1],'label'):                      if hasattr(temp[x][1],'label'):
                         if not temp[x][1].label=='':                          if not temp[x][1].label=='':
                             label=temp[x][1].label.encode('utf-8')                              label=temp[x][1].label.encode('utf-8')
Line 436  class ECHO_navigation(Folder): Line 435  class ECHO_navigation(Folder):
                           
     def isSelectedPath(self,item):      def isSelectedPath(self,item):
         """test is path is already selected"""          """test is path is already selected"""
         found=re.search("\?(.*)",item[1])          found=re.search("\?(.*)/",item[1])
         if found:          if found:
             temp=re.sub(" ","%20",found.group(0))              temp=re.sub(" ","%20",found.group(0))
             #print temp+"::"+self.REQUEST['QUERY_STRING']              #print temp+"::"+self.REQUEST['QUERY_STRING']
             if ("?"+self.REQUEST['QUERY_STRING'])==temp:              if ("?"+self.REQUEST['QUERY_STRING'])==temp:
                 return 1                  return 1
   
         if re.search(item[1],self.REQUEST['URL']):          if re.search(item[1]+"/",self.REQUEST['URL']):
             return 1              return 1
         else:          else:
             return 0              return 0
Line 520  class ECHO_navigation(Folder): Line 519  class ECHO_navigation(Folder):
     def secondNavElements(self):      def secondNavElements(self):
         """Zweite Ordnung"""          """Zweite Ordnung"""
                   
         hash=self.createNavHash(2)          hash=self.createNavHash(2,checkOnly="no")
         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 529  class ECHO_navigation(Folder): Line 528  class ECHO_navigation(Folder):
         splitted=ult_temp.split("/")          splitted=ult_temp.split("/")
                   
   
         ## if splitted[len(splitted)-1]=="index_html":  
 ##             start=[splitted[len(splitted)-2]]  
 ##         else:  
 ##             start=[splitted[len(splitted)-1]]  
   
         start=[splitted[2]]          start=[splitted[2]]
         #print start          #print start
                 

Removed from v.1.17  
changed lines
  Added in v.1.27


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