Diff for /ECHO_content/ECHO_Nav.py between versions 1.1 and 1.4

version 1.1, 2004/01/27 13:36:03 version 1.4, 2004/02/03 17:31:16
Line 17  class ECHO_sqlElement(SimpleItem): Line 17  class ECHO_sqlElement(SimpleItem):
     meta_type="ECHO_sqlElement"      meta_type="ECHO_sqlElement"
     baseUrl=""      baseUrl=""
           
     def __init__(self,id,title,query,field,baseUrl):      def __init__(self,id,title,query,field,baseUrl,weight):
         """init"""          """init"""
         self.id=id          self.id=id
         self.title=title          self.title=title
         self.query=query          self.query=query
         self.field=field          self.field=field
         self.baseUrl=baseUrl          self.baseUrl=baseUrl
           self.weight=weight
   
     manage_options= SimpleItem.manage_options+(      manage_options= SimpleItem.manage_options+(
         {'label':'Main Config','action':'changeECHO_sqlElementForm'},          {'label':'Main Config','action':'changeECHO_sqlElementForm'},
         )          )
   
       def getWeight(self):
           """get weight"""
           if hasattr(self,'weight'):
               return self.weight
           else:
               return 0
           
           
   
     def changeECHO_sqlElementForm(self):      def changeECHO_sqlElementForm(self):
         """change"""          """change"""
         pt=PageTemplateFile('Products/ECHO_content/ChangeECHO_sqlElement.zpt').__of__(self)          pt=PageTemplateFile('Products/ECHO_content/ChangeECHO_sqlElement.zpt').__of__(self)
         return pt()          return pt()
   
     def changeECHO_sqlElement(self,title,query,field,baseUrl,RESPONSE=None):      def changeECHO_sqlElement(self,title,query,field,baseUrl,weight,RESPONSE=None):
         """change"""          """change"""
         self.title=title          self.title=title
         self.query=query          self.query=query
         self.field=field          self.field=field
         self.baseUrl=baseUrl          self.baseUrl=baseUrl
           self.weight=weight
   
         if RESPONSE is not None:          if RESPONSE is not None:
             RESPONSE.redirect('manage_main')              RESPONSE.redirect('manage_main')
Line 79  class ECHO_pageTemplate(ZopePageTemplate Line 90  class ECHO_pageTemplate(ZopePageTemplate
     _default_content_fn = os.path.join(package_home(globals()),      _default_content_fn = os.path.join(package_home(globals()),
                                        'ECHO_pageTemplateDefault.html')                                         'ECHO_pageTemplateDefault.html')
   
       manage_options=ZopePageTemplate.manage_options+(
           {'label':'Weight','action':'changeECHO_pageTemplateWeightForm'},
           )
   
       def changeECHO_pageTemplateWeightForm(self):
           """change"""
           pt=PageTemplateFile('Products/ECHO_content/ChangeECHO_pageTemplateWeight.zpt').__of__(self)
           return pt()
   
       def changeECHO_pageTemplateWeight(self,weight,RESPONSE=None):
           """change"""
           self.weight=weight
   
           if RESPONSE is not None:
               RESPONSE.redirect('manage_main')
           
       def getWeight(self):
           """get weight"""
           if hasattr(self,'weight'):
               return self.weight
           else:
               return 0
   
   
   
     ## def __init__(self, id, text=None, content_type=None):      ## def __init__(self, id, text=None, content_type=None):
 ##         self.id = str(id)  ##         self.id = str(id)
Line 95  def manage_AddECHO_pageTemplateForm(self Line 130  def manage_AddECHO_pageTemplateForm(self
 from urllib import quote  from urllib import quote
   
   
 def manage_AddECHO_pageTemplate(self, id, title=None, text=None,  def manage_AddECHO_pageTemplate(self, id, weight= 0,title=None, text=None,
                            REQUEST=None, submit=None):                             REQUEST=None, submit=None):
     "Add a Page Template with optional file content."      "Add a Page Template with optional file content."
   
Line 104  def manage_AddECHO_pageTemplate(self, id Line 139  def manage_AddECHO_pageTemplate(self, id
     if REQUEST is None:      if REQUEST is None:
         self._setObject(id, ECHO_pageTemplate(id, text))          self._setObject(id, ECHO_pageTemplate(id, text))
         ob = getattr(self, id)          ob = getattr(self, id)
           setattr(ob,'weight',weight)
         if title:          if title:
             ob.pt_setTitle(title)              ob.pt_setTitle(title)
         return ob          return ob
Line 116  def manage_AddECHO_pageTemplate(self, id Line 152  def manage_AddECHO_pageTemplate(self, id
             zpt = ECHO_pageTemplate(id, file, headers.get('content_type'))              zpt = ECHO_pageTemplate(id, file, headers.get('content_type'))
   
         self._setObject(id, zpt)          self._setObject(id, zpt)
           ob = getattr(self, id)
           setattr(ob,'weight',weight)
   
         try:          try:
             u = self.DestinationURL()              u = self.DestinationURL()
Line 185  class ECHO_navigation(Folder): Line 223  class ECHO_navigation(Folder):
   
         #objtemp = compile(temp,'<string>','single')          #objtemp = compile(temp,'<string>','single')
         #obj=eval(objtemp)          #obj=eval(objtemp)
         print obj           #print obj 
                   
         #print obj.__dict__.keys()          #print obj.__dict__.keys()
                   
Line 214  class ECHO_navigation(Folder): Line 252  class ECHO_navigation(Folder):
             for x in start:              for x in start:
                 temp=temp[x][0]                  temp=temp[x][0]
   
         for x in temp.keys():          for x in self.tempSorted(temp):
               if not temp[x][1].title == "":
             if temp[x][1].meta_type=="ECHO_sqlElement":              if temp[x][1].meta_type=="ECHO_sqlElement":
                 for z in temp[x][1].getNavList():                  for z in temp[x][1].getNavList():
                     listNav.append((z[0],z[1]))                      listNav.append((z[0],z[1]))
             else:              else:
                 listNav.append((temp[x][1].title,self.absolute_url()+createPath(temp[x][1].absolute_url())))                      listNav.append((temp[x][1].title,createPath(self.absolute_url(),temp[x][1].absolute_url())))
                       
   
         #print listNav          #print listNav
   
Line 230  class ECHO_navigation(Folder): Line 270  class ECHO_navigation(Folder):
   
         return listNav          return listNav
   
       def tempSorted(self,hash):
           ls=[]
           for x in hash.keys():
               #print hash[x][1]
               if hasattr(hash[x][1],'weight'):
                   weight=hash[x][1].weight
                   #print weight
               else:
                   weight=0
   
               ls.append((x,weight))
   
           ls.sort(sortWeight)
           
           return [x[0] for x in ls]
   
       
           
               
     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])
Line 271  class ECHO_navigation(Folder): Line 330  class ECHO_navigation(Folder):
         for key in temp.keys():          for key in temp.keys():
                           
             description=temp[x][1].title              description=temp[x][1].title
             url=self.absolute_url()+createPath(temp[key][1].absolute_url())           
               url=createPath(self.absolute_url(),temp[key][1].absolute_url())
                           
             if (self.REQUEST['URL']==url) | (self.REQUEST['URL']==url+"/index_html"):              if (self.REQUEST['URL']==url) | (self.REQUEST['URL']==url+"/index_html"):
                 html=html+startTag+"[%s]" % description+endTag                  html=html+startTag+"[%s]" % description+endTag
Line 299  class ECHO_navigation(Folder): Line 359  class ECHO_navigation(Folder):
   
         try:          try:
             keys=self.barFromHash(self.createNavHash(0))              keys=self.barFromHash(self.createNavHash(0))
   
         except:          except:
             keys=""              keys=""
                           
Line 370  def manage_AddECHO_navigation(self,id,ti Line 431  def manage_AddECHO_navigation(self,id,ti
   
 #helpers  #helpers
   
 def createPath(url):  
     temp=url.split("/")  
     del temp[0]  def createPath(url1,url2):
     del temp[1]      temp1=url1.split("/")
     return string.join(temp,"/")      temp2=url2.split("/")
       for test in temp1:
           if temp2[0]==test:
               del temp2[0]
   
       return url1+"/"+string.join(temp2,"/")
   
   def sortWeight(x,y):
       #print x[1],y[1]
       return cmp(x[1],y[1])
           

Removed from v.1.1  
changed lines
  Added in v.1.4


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