Diff for /ECHO_content/ECHO_Nav.py between versions 1.6 and 1.10

version 1.6, 2004/02/09 11:45:46 version 1.10, 2004/04/04 14:56:05
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,weight,content_type):      def __init__(self,id,title,query,field,searchField,baseUrl,weight,contentType):
         """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
           if searchField=="":
               self.searchField=field
           else:
               self.searchField=searchField
         self.baseUrl=baseUrl          self.baseUrl=baseUrl
         self.weight=weight          self.weight=weight
         self.content=content_type          self.content=contentType
   
     manage_options= SimpleItem.manage_options+(      manage_options= SimpleItem.manage_options+(
         {'label':'Main Config','action':'changeECHO_sqlElementForm'},          {'label':'Main Config','action':'changeECHO_sqlElementForm'},
         )          )
   
       def getSearchField(self):
           try:
               return self.searchField
           except:
               return self.field
           
     def getWeight(self):      def getWeight(self):
         """get weight"""          """get weight"""
         if hasattr(self,'weight'):          if hasattr(self,'weight'):
Line 38  class ECHO_sqlElement(SimpleItem): Line 48  class ECHO_sqlElement(SimpleItem):
         else:          else:
             return 0              return 0
                   
     def getContent_type(self):      def getcontentType(self):
         """get weight"""          """get weight"""
                   
         if hasattr(self,'content_type'):          if hasattr(self,'contentType'):
             return self.content_type              return self.contentType
         else:          else:
             return 0              return 0
                   
Line 53  class ECHO_sqlElement(SimpleItem): Line 63  class ECHO_sqlElement(SimpleItem):
         pt=PageTemplateFile('Products/ECHO_content/zpt/changeECHO_sqlElement.zpt').__of__(self)          pt=PageTemplateFile('Products/ECHO_content/zpt/changeECHO_sqlElement.zpt').__of__(self)
         return pt()          return pt()
   
     def changeECHO_sqlElement(self,title,query,field,baseUrl,weight,content_type,RESPONSE=None):      def changeECHO_sqlElement(self,title,query,field,searchField,baseUrl,weight,contentType,RESPONSE=None):
         """change"""          """change"""
         self.title=title          self.title=title
         self.query=query          self.query=query
         self.field=field          self.field=field
           self.searchField=searchField
         self.baseUrl=baseUrl          self.baseUrl=baseUrl
         self.weight=weight          self.weight=weight
         self.content_type=content_type          self.contentType=contentType
                   
         if RESPONSE is not None:          if RESPONSE is not None:
             RESPONSE.redirect('manage_main')              RESPONSE.redirect('manage_main')
Line 76  class ECHO_sqlElement(SimpleItem): Line 87  class ECHO_sqlElement(SimpleItem):
         else:          else:
             ret=[]              ret=[]
             for record in records:              for record in records:
                 ret.append((getattr(record,self.field),self.baseUrl+str(getattr(record,self.field))))                  try:
                       ret.append((getattr(record,self.field),self.baseUrl+urllib.quote(str(getattr(record,self.getSearchField())))))
                   except:
                       """notrhing"""
                       
             return ret              return ret
           
   
Line 85  def manage_addECHO_sqlElementForm(self): Line 100  def manage_addECHO_sqlElementForm(self):
     pt=PageTemplateFile('Products/ECHO_content/zpt/AddECHO_sqlElement.zpt').__of__(self)      pt=PageTemplateFile('Products/ECHO_content/zpt/AddECHO_sqlElement.zpt').__of__(self)
     return pt()      return pt()
   
 def manage_addECHO_sqlElement(self,id,title,query,field,baseUrl,weight,content_type,RESPONSE=None):  def manage_addECHO_sqlElement(self,id,title,query,field,searchField,baseUrl,weight,contentType,RESPONSE=None):
     """Add an ECHO_sqlelement"""      """Add an ECHO_sqlelement"""
     self._setObject(id,ECHO_sqlElement(id,title,query,field,baseUrl,weight,content_type))      self._setObject(id,ECHO_sqlElement(id,title,query,field,searchField,baseUrl,weight,contentType))
           
     if RESPONSE is not None:      if RESPONSE is not None:
         RESPONSE.redirect('manage_main')          RESPONSE.redirect('manage_main')
Line 109  class ECHO_pageTemplate(ZopePageTemplate Line 124  class ECHO_pageTemplate(ZopePageTemplate
         pt=PageTemplateFile('Products/ECHO_content/zpt/ChangeECHO_pageTemplateWeight.zpt').__of__(self)          pt=PageTemplateFile('Products/ECHO_content/zpt/ChangeECHO_pageTemplateWeight.zpt').__of__(self)
         return pt()          return pt()
   
     def changeECHO_pageTemplateWeight(self,weight,content_type,RESPONSE=None):      def changeECHO_pageTemplateWeight(self,weight,contentType,RESPONSE=None):
         """change"""          """change"""
         self.weight=weight          self.weight=weight
         self.content_type=content_type          self.contentType=contentType
   
         if RESPONSE is not None:          if RESPONSE is not None:
             RESPONSE.redirect('manage_main')              RESPONSE.redirect('manage_main')
Line 124  class ECHO_pageTemplate(ZopePageTemplate Line 139  class ECHO_pageTemplate(ZopePageTemplate
         else:          else:
             return 0              return 0
                   
     def getContent_Type(self):      def getcontentType(self):
         """get weight"""          """get weight"""
         if hasattr(self,'weight'):          if hasattr(self,'weight'):
             return self.weight              return self.weight
Line 134  class ECHO_pageTemplate(ZopePageTemplate Line 149  class ECHO_pageTemplate(ZopePageTemplate
   
   
   
     ## def __init__(self, id, text=None, content_type=None):      ## def __init__(self, id, text=None, contentType=None):
 ##         self.id = str(id)  ##         self.id = str(id)
 ##         self.ZBindings_edit(self._default_bindings)  ##         self.ZBindings_edit(self._default_bindings)
 ##         if text is None:  ##         if text is None:
 ##             text = open(self._default_cont).read()  ##             text = open(self._default_cont).read()
 ##         self.pt_edit(text, content_type)  ##         self.pt_edit(text, contentType)
   
 def manage_addECHO_pageTemplateForm(self):  def manage_addECHO_pageTemplateForm(self):
     """Form for adding"""      """Form for adding"""
Line 149  def manage_addECHO_pageTemplateForm(self Line 164  def manage_addECHO_pageTemplateForm(self
 from urllib import quote  from urllib import quote
   
   
 def manage_addECHO_pageTemplate(self, id, weight= 0,content_type=0,title=None, text=None,  def manage_addECHO_pageTemplate(self, id, weight= 0,contentType=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 159  def manage_addECHO_pageTemplate(self, id Line 174  def manage_addECHO_pageTemplate(self, id
         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)          setattr(ob,'weight',weight)
         setattr(ob,'content_type',content_type)          setattr(ob,'contentType',contentType)
         if title:          if title:
             ob.pt_setTitle(title)              ob.pt_setTitle(title)
         return ob          return ob
Line 169  def manage_addECHO_pageTemplate(self, id Line 184  def manage_addECHO_pageTemplate(self, id
         if headers is None or not file.filename:          if headers is None or not file.filename:
             zpt = ECHO_pageTemplate(id)              zpt = ECHO_pageTemplate(id)
         else:          else:
             zpt = ECHO_pageTemplate(id, file, headers.get('content_type'))              zpt = ECHO_pageTemplate(id, file, headers.get('contentType'))
   
         self._setObject(id, zpt)          self._setObject(id, zpt)
         ob = getattr(self, id)          ob = getattr(self, id)
         setattr(ob,'weight',weight)          setattr(ob,'weight',weight)
           if title:
               ob.pt_setTitle(title)
   
         try:          try:
             u = self.DestinationURL()              u = self.DestinationURL()
Line 190  class ECHO_navigation(Folder): Line 207  class ECHO_navigation(Folder):
     """Navigations Element"""      """Navigations Element"""
     meta_type="ECHO_Navigation"      meta_type="ECHO_Navigation"
   
     displayedMetaTypes=['ECHO_collection','ECHO_pageTemplate','ZSQLExtendFolder','ECHO_sqlElement']      displayedMetaTypes=['ImageCollectionIFrame','ECHO_collection','ECHO_pageTemplate','ZSQLExtendFolder','ECHO_sqlElement','ECHO_resource','ECHO_externalLink']
           
     def __init__(self,id,title,pathToHierarchy):      def __init__(self,id,title,pathToHierarchy):
         """init"""          """init"""
Line 271  class ECHO_navigation(Folder): Line 288  class ECHO_navigation(Folder):
             sortField="weight"              sortField="weight"
         else: # list mit pfad zum hash          else: # list mit pfad zum hash
             temp=hash              temp=hash
             print "HI",sortField              #print "HI",sortField
             if not sortField:              if not sortField:
                 tempObj=self.pathToHierarchy[0:]                  tempObj=self.pathToHierarchy[0:]
                 tempObj=re.sub("/",".",tempObj)                  tempObj=re.sub("/",".",tempObj)
Line 282  class ECHO_navigation(Folder): Line 299  class ECHO_navigation(Folder):
                 obj=objtemp                  obj=objtemp
   
                 for x in start:                  for x in start:
                       #print "OBJ",start,obj,obj.getId(),x
   
                     obj=getattr(obj,x)                      obj=getattr(obj,x)
   
Line 290  class ECHO_navigation(Folder): Line 307  class ECHO_navigation(Folder):
                     sortField=obj.sortfield                      sortField=obj.sortfield
                 else:                  else:
                     sortField='weight'                      sortField='weight'
               #print "START",start
             for x in start:              for x in start:
                   #print "N2",x,temp[x]
                   try:
                     temp=temp[x][0]                      temp=temp[x][0]
                   except:
                       """nothing"""
                       return []
               #print "TEMP",temp,self.tempSorted(temp, field=sortField)
         print "HELL",sortField          print "HELL",sortField
         for x in self.tempSorted(temp, field=sortField):          for x in self.tempSorted(temp, field=sortField):
             if not temp[x][1].title == "":              if not temp[x][1].title == "":
Line 299  class ECHO_navigation(Folder): Line 323  class ECHO_navigation(Folder):
                     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,createPath(self.absolute_url(),temp[x][1].absolute_url())))                      # add label fals existiert und nicht leer
                       if hasattr(temp[x][1],'label'):
                           if not temp[x][1].label=='':
                               label=temp[x][1].label
                               print "HAS LABEL",label
                           else:
                               label=temp[x][1].title
                       else:
                           label=temp[x][1].title                            
                                           
         print self.getId(),start                      listNav.append((label,createPath(self.absolute_url(),temp[x][1].absolute_url()),temp[x][1]))
         print listNav                      
           #print self.getId(),start
           #print listNav
   
         #html=""          #html=""
         #for k in listNav:          #for k in listNav:
Line 430  class ECHO_navigation(Folder): Line 464  class ECHO_navigation(Folder):
         #print start          #print start
                 
         keys=self.barFromHash(hash,start=start)          keys=self.barFromHash(hash,start=start)
           
           
           return keys
   
       def navElements(self,order):
           """n-te Ordnung"""
           
           hash=self.createNavHash(order)
           actual_url=self.REQUEST['URL']
           
           ult_temp=re.sub(self.absolute_url(),"",actual_url)
           #print ult_temp
   
           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:order+1]
           #print start
          
           keys=self.barFromHash(hash,start=start)
                   
                   
         return keys          return keys

Removed from v.1.6  
changed lines
  Added in v.1.10


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