Diff for /ZSQLExtend/ZSQLExtend.py between versions 1.111 and 1.112

version 1.111, 2007/04/18 15:09:52 version 1.112, 2007/04/19 20:29:59
Line 623  class ZSQLExtendFolder(Folder,Persistent Line 623  class ZSQLExtendFolder(Folder,Persistent
             return 1              return 1
         return 0          return 0
   
       def ZSQLMultiSearch(self,_table,_searchField,_value,_idField,_additionalStatement="",_select=None,_storename=None):
           """
           Durchsucht in einer Tabelle "table" die Spalte "searchfield" nach dem allen Vorkommnissen 
           von Worten in value und gibt alle Werte mit gleichem id field zurŸck, d.h. es wird die "und" suche realisiert, 
           z.B. fŸr simplesearch ueber mehrere Felder
           """
           if _storename:
               """store"""
           else:
               _storename="foundCount"
               
           queries=[]
           #baue jede einzelne abfrage
           splitted=_value.split(" ")
           if not _select:
               _select=_idField
               
           queries.append("select %s from  %s %s where %s like '%%%s%%'"%(_select,_table,_additionalStatement,_searchField,splitted[0]))
           
           if len(splitted)>1:
               for v in splitted[1:]:
                   queries.append("select %s from  %s where %s like '%%%s%%'"%(_idField,_table,_searchField,v))
                   
           q=" and %s in ("%_idField
           query=q.join(queries) # nun baue sie zusammen
           for i in range(len(queries)-1):
               query+=")" #noch die klammern schliessen
           
           
           if _additionalStatement:
               query=query+" "
           
           logging.info("ZSQLSimple: %s"%query)
           retT=self.ZSQLSimpleSearch(query)
           logging.info("ZSQLSimple: %s"%retT)
           
           retFinalT={}
           for x in retT:
               split=_idField.split(".")
               if len(split)>1:
                   f=split[1]
               else:
                   f=_idField
                   
               retFinalT[getattr(x,f)]=x
           
           ret=list(retFinalT.values())
           
           
               
           if not self.REQUEST.SESSION.has_key(_storename):
                   self.REQUEST.SESSION[_storename]={}
           
           self.REQUEST.SESSION[_storename]['searchFieldsOnly']={}
           self.REQUEST.SESSION[_storename]['qs']=query
           return ret
       
     def ZSQLsearchOptions(self,fieldname=""):      def ZSQLsearchOptions(self,fieldname=""):
         """return HTML Fragment with search options"""          """return HTML Fragment with search options"""
                   
Line 1185  class ZSQLExtendFolder(Folder,Persistent Line 1242  class ZSQLExtendFolder(Folder,Persistent
         for query in querys:          for query in querys:
             arg=query.split("=")[0]              arg=query.split("=")[0]
             if arg[0]=="_": arg="-"+arg[1:] # sicherstellen, dass an Anfang stets "_"              if arg[0]=="_": arg="-"+arg[1:] # sicherstellen, dass an Anfang stets "_"
               try:
             queryList[arg]=query.split("=")[1]              queryList[arg]=query.split("=")[1]
                       except:
                   queryList[arg]=''   
   
         argList=[]          argList=[]
         arg=""          arg=""

Removed from v.1.111  
changed lines
  Added in v.1.112


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