--- ZSQLExtend/ZSQLExtend.py 2004/01/21 16:54:45 1.5 +++ ZSQLExtend/ZSQLExtend.py 2004/01/22 09:18:49 1.6 @@ -32,14 +32,15 @@ class ZSQLExtendFolder(Persistent, Impli return 1 return 0 - def ZSQLsearchOptions(self): + def ZSQLsearchOptions(self,fieldname=""): """return HTML Fragment with search options""" - ret=""" - + -""" +"""%fieldname return ret def ZSQLInlineSearch(self,storename=None,**argv): @@ -171,6 +172,7 @@ class ZSQLExtendFolder(Persistent, Impli qs=self.REQUEST.SESSION['query'] else: qs=string.join(qs.split("&"),",") + qs=re.sub("\\+"," ",qs)# Austauschen da Leerzeichen bei http-get durch + ersetzt wird, generell sollte alles auf post umgeschrieben werden. vom search formular. #print "QS",qs @@ -253,8 +255,11 @@ class ZSQLExtendFolder(Persistent, Impli select="*" #print "Q",nostore,qs #check for op in the case of inline search - if iCT=="_": - for q in qs.split(","): + + splitted=qs.split(",") + + + for q in splitted: name=re.sub("r'+'"," ",q.split("=")[0].lower()) value=urllib.unquote(q.split("=")[1]) @@ -263,7 +268,8 @@ class ZSQLExtendFolder(Persistent, Impli op=value field=name[4:] opfields[field]=op - + + #print opfieldsa #now analyse the querystring for q in qs.split(","): @@ -301,10 +307,14 @@ class ZSQLExtendFolder(Persistent, Impli elif (not name[0]==iCT) and (not len(value)==0): - name="LOWER("+name+")" + + #print "OP",op,name value=value.lower() if opfields.has_key(name): op=opfields[name] + else: + op="ct" + name="LOWER("+name+")" if op=="ct": whereList.append(name+" LIKE "+libpq.PgQuoteString("%"+value+"%")) elif op=="gt": @@ -317,7 +327,7 @@ class ZSQLExtendFolder(Persistent, Impli whereList.append(name+" LIKE "+libpq.PgQuoteString(value+"%")) elif op=="ew": whereList.append(name+" LIKE "+libpq.PgQuoteString("%"+value)) - op="ct" + op="ct" #except: # print "END",value,name,Exception @@ -360,7 +370,7 @@ class ZSQLExtendFolder(Persistent, Impli self.REQUEST.SESSION[storename]['rangeEnd']=int(rangeStart)+int(limit) self.REQUEST.SESSION[storename]['rangeSize']=limit - + print query return self.search(var=query) def ZSQLSearch(self):