Diff for /ZSQLExtend/ZSQLExtend.py between versions 1.48 and 1.51

version 1.48, 2004/10/29 13:40:24 version 1.51, 2004/11/28 21:56:31
Line 1 Line 1
 from OFS.Folder import Folder  from OFS.Folder import Folder
 from Globals import Persistent  from Globals import Persistent
 from Acquisition import Implicit  from Acquisition import Implicit
 from Globals import DTMLFile  from Globals import DTMLFile,package_home
 import urllib  import urllib
 import re  import re
 import string  import string
Line 54  class ZSQLExtendFolder(Folder,Persistent Line 54  class ZSQLExtendFolder(Folder,Persistent
         classes=['Uruk III','Uruk IV']          classes=['Uruk III','Uruk IV']
         return self.searchRel(relStatement,statement,wherePart,classes)          return self.searchRel(relStatement,statement,wherePart,classes)
           
       def URLquote(self,txt):
           """urlquote"""
           return urllib.quote(txt)
     def searchRel(self,relStatement,statement,wherePart,classes):      def searchRel(self,relStatement,statement,wherePart,classes):
         """suche relative haufigkeiten"""          """suche relative haufigkeiten"""
         ret={}          ret={}
Line 216  class ZSQLExtendFolder(Folder,Persistent Line 219  class ZSQLExtendFolder(Folder,Persistent
         ret+="""</select>"""          ret+="""</select>"""
         return ret          return ret
   
     def ZSQLOptionsFromSearchList(self,fieldname,results,fieldName,valueName=None,start=None, multiple='',startValue=None):      def ZSQLOptionsFromSearchList(self,fieldname,results,fieldName,valueName=None,start=None, multiple='',startValue=None,additionalSelect=""):
         """generate select oprions form a search list seperated list"""          """generate select options form a search list
           es wird
           <select name=fieldname mutiple>
           <option value=startValue>start</option>
           <option value=result.fieldName>result.fieldValue</option>
           erzeugt.
           
           @parameter fieldname: Name fuer name-wert im select-tag
           @results results: Resultobject einer SQL-suche
           @parameter fieldName: Name des Feldes, das als value in den option-tag geschrieben werden soll.
           @parameter valueName: (optional) Name des Feldes, dass als im option-tag ausgegeben wird, default wert ist valueName=fieldName
           @start: (optional) falls zusaetzliches option tag erzeugt werden soll, gibt start an was im option tag steht
           @startValue: gibt den entsprechenden Wert an.
           """
         if not valueName:          if not valueName:
             valueName=fieldName              valueName=fieldName
                           
         ret="""<select name="%s" %s>          ret="""<select name="%s" %s %s>
             """%(fieldname,multiple)              """%(fieldname,multiple,additionalSelect)
         if start:          if start:
         if start==' ':          if start==' ':
         start=''          start=''
Line 233  class ZSQLExtendFolder(Folder,Persistent Line 249  class ZSQLExtendFolder(Folder,Persistent
         for result in results:          for result in results:
             field=getattr(result,fieldName)              field=getattr(result,fieldName)
             fieldValue=getattr(result,valueName)              fieldValue=getattr(result,valueName)
               if fieldValue:
             ret+="""<option value="%s">%s</option>"""%(field,fieldValue)              ret+="""<option value="%s">%s</option>"""%(field,fieldValue)
         ret+="""</select>"""          ret+="""</select>"""
         return ret          return ret
Line 407  class ZSQLExtendFolder(Folder,Persistent Line 424  class ZSQLExtendFolder(Folder,Persistent
                     ret.append(x)                      ret.append(x)
             return ret              return ret
                   
   
   
         #self.REQUEST.SESSION['come_from_search']="no" # zuruecksetzen          #self.REQUEST.SESSION['come_from_search']="no" # zuruecksetzen
         if qs=="":          if qs=="":
                         
Line 417  class ZSQLExtendFolder(Folder,Persistent Line 436  class ZSQLExtendFolder(Folder,Persistent
                qs=string.join(qs.split("&"),",")                 qs=string.join(qs.split("&"),",")
                                 
                for field in argv.keys():                 for field in argv.keys():
                      if field[0]=="_":
                          fieldTmp="-"+field[1:]
                      else:
                          fieldTmp=field
                                         
                    qs+=",-%s=%s"%(field,argv[field])                     qs+=",%s=%s"%(fieldTmp,argv[field])
                                         
            else:             else:
                                 
                qs=self.REQUEST.SESSION.get('query','')                 qs=self.REQUEST.SESSION.get('query','')
                                 
                for field in argv.keys():                 for field in argv.keys():
                    #print field                     if field[0]=="_":
                    qs+=",-%s=%s"%(field,argv[field])                         fieldTmp="-"+field[1:]
                      else:
                          fieldTmp=field
                      
                      qs+=",%s=%s"%(fieldTmp,argv[field])
                                 
         else:          else:
             self.REQUEST['QUERY_STRING']=qs              self.REQUEST['QUERY_STRING']=qs
Line 444  class ZSQLExtendFolder(Folder,Persistent Line 471  class ZSQLExtendFolder(Folder,Persistent
         else:          else:
             storename="foundCount"              storename="foundCount"
   
           #store query for further usage
           self.REQUEST.SESSION['query']=qs
   
         #print "calling Query with",repr(NoQuery)          #print "calling Query with",repr(NoQuery)
         ret=self.parseQueryString(qs,"-",select=select,storemax="yes",storename=storename,tableExt=tableExt,NoQuery=NoQuery,NoLimit=NoLimit,restrictField=restrictField,restrictConnect=restrictConnect,filter=filter)          ret=self.parseQueryString(qs,"-",select=select,storemax="yes",storename=storename,tableExt=tableExt,NoQuery=NoQuery,NoLimit=NoLimit,restrictField=restrictField,restrictConnect=restrictConnect,filter=filter)
         #print self.REQUEST.SESSION["foundCount"]          #print self.REQUEST.SESSION["foundCount"]
                   
   
           
         return ret          return ret
   
     def ZSQLFoundCountLen(self,var):      def ZSQLFoundCountLen(self,var):
Line 721  class ZSQLExtendFolder(Folder,Persistent Line 751  class ZSQLExtendFolder(Folder,Persistent
                                                   
                     tmp=string.join(tmps,' OR ')                      tmp=string.join(tmps,' OR ')
   
                 op="ct"                  op="all"
   
                 if (not tableExt) or (namealt.split('.')[0]==tableExt):                  if (not tableExt) or (namealt.split('.')[0]==tableExt):
                     if searchFields.has_key(name):                      if searchFields.has_key(name):
Line 812  class ZSQLExtendFolder(Folder,Persistent Line 842  class ZSQLExtendFolder(Folder,Persistent
         rq=self.REQUEST['QUERY_STRING']          rq=self.REQUEST['QUERY_STRING']
         querys=rq.split("&")          querys=rq.split("&")
                   
           formatfile=self.REQUEST['URL1'] #generisch redirect zur gleichen url
   
         for querytemp in querys:          for querytemp in querys:
             query=querytemp.split("=")              query=querytemp.split("=")
               
               
               print "fmtfile",formatfile
               
             try:              try:
                 if query[0].lower()=="-format":                  if query[0].lower()=="-format":
                     formatfile=query[1]                      formatfile=query[1]
             except:              except:
                 """nothing"""                  """nothing"""
   
                   
         #print formatfile          #print formatfile
                   
         self.REQUEST.SESSION['query']=string.join(self.REQUEST['QUERY_STRING'].split("&"),",")          self.REQUEST.SESSION['query']=string.join(self.REQUEST['QUERY_STRING'].split("&"),",")

Removed from v.1.48  
changed lines
  Added in v.1.51


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