--- ZSQLExtend/ZSQLExtend.py 2004/09/27 20:48:54 1.38 +++ ZSQLExtend/ZSQLExtend.py 2004/10/05 17:48:50 1.39 @@ -545,10 +545,15 @@ class ZSQLExtendFolder(Folder,Persistent lopfields[field]=lop if name[0:10]==iCT+"sortorder": - sort=value - + #sort=value + field=name[11:] - sortfields[field]=sort + sortAllFields=None + #no field selected + if field=="": + sortAllFields=value + else: + sortfields[field]=value #print "HI",op,field #print opfieldsa @@ -588,11 +593,17 @@ class ZSQLExtendFolder(Folder,Persistent sortstrs=[] for word in value.split(','): wordstr=word.lstrip().rstrip() - order=sortfields.get(wordstr,'ASC') - sortstrs.append(wordstr+" "+order) + if sortAllFields: + order=sortAllFields + else: + order=sortfields.get(wordstr,'ASC') + + if not (wordstr == ""): + sortstrs.append(wordstr+" "+order) if len(sortstrs)>0: sort="ORDER BY "+string.join(sortstrs,',') - + + elif name==iCT+"token": if not nostore=="yes": self.REQUEST.SESSION['token']=value @@ -642,32 +653,6 @@ class ZSQLExtendFolder(Folder,Persistent searchFields[name]=tmp searchFieldsOnly[name]=value - - ## for name in searchFields.keys(): -## value=searchFields[name] - -## if opfields.has_key(name): -## op=opfields[name] -## else: -## op="ct" -## name="LOWER("+name+")" -## if op=="ct": -## whereList.append(name+" LIKE "+sql_quote("%"+value+"%")) -## elif op=="gt": -## whereList.append(name+">"+sql_quote(value)) -## elif op=="lt": -## whereList.append(name+"<"+sql_quote(value)) -## elif op=="eq": -## whereList.append(name+"="+sql_quote(value)) -## elif op=="bw": -## whereList.append(name+" LIKE "+sql_quote(value+"%")) -## elif op=="ew": -## whereList.append(name+" LIKE "+sql_quote("%"+value)) -## op="ct" - -## #except: -## # print "END",value,name,Exception - whereList=["("+searchFields[x]+")" for x in searchFields.keys()] if len(whereList)>0: @@ -690,7 +675,7 @@ class ZSQLExtendFolder(Folder,Persistent where+="and "+restrictConnect[0]+" in ("+restrictConnect[1]+")" #print "QE",table - + #print (select,table,where,sort,maxstr,skip) query="SELECT %s FROM %s %s %s %s %s"%(select,table,where,sort,maxstr,skip) if not nostore=="yes": @@ -728,7 +713,7 @@ class ZSQLExtendFolder(Folder,Persistent self.REQUEST.SESSION[storename]['rangeSize']=limit self.REQUEST.SESSION[storename]['searchFields']=searchFields self.REQUEST.SESSION[storename]['searchFieldsOnly']=searchFieldsOnly - + #print "QS", query if not NoQuery: return self.ZSQLQuery(query) @@ -800,12 +785,12 @@ class ZSQLExtendFolder(Folder,Persistent if self.REQUEST['QUERY_STRING']=="": qs=self.REQUEST.SESSION['query'] - queries=string.split(qs,",") + queries=string.split(qs,",")[0:] else: qs=self.REQUEST['QUERY_STRING'] - queries=string.split(qs,"&") + queries=string.split(qs,"&")[0:] @@ -814,10 +799,9 @@ class ZSQLExtendFolder(Folder,Persistent skipFound=0 for query in queries: + + if query[0]=="_" : query="-"+query[1:] - #print query.split("=")[0] - if query[0]=="_" : query[0]="-" - if query.split("=")[0].lower()=="-skip": skipFound=1