--- ZSQLExtend/ZSQLExtend.py 2005/10/11 20:05:06 1.67
+++ ZSQLExtend/ZSQLExtend.py 2005/10/14 15:08:18 1.69
@@ -231,7 +231,7 @@ class ZSQLExtendFolder(Folder,Persistent
return ret
- def ZSQLOptionsFromCRList(self,fieldname,listField, multiple='',start=None,startValue=None,size=None):
+ def ZSQLOptionsFromCRList(self,fieldname,listField, multiple='',start=None,startValue=None,size=None,selected=None):
"""generate select oprions form a cr seperated list"""
fields=listField.split("\n")
if size:
@@ -249,7 +249,10 @@ class ZSQLExtendFolder(Folder,Persistent
ret+=""""""%(startValue,start)
for field in fields:
- ret+=""""""%(field.encode('utf-8'),field.encode('utf-8'))
+ if selected and (field in selected.split("\n")):
+ ret+=""""""%(field.encode('utf-8'),field.encode('utf-8'))
+ else:
+ ret+=""""""%(field.encode('utf-8'),field.encode('utf-8'))
ret+=""""""
return ret
@@ -356,7 +359,8 @@ class ZSQLExtendFolder(Folder,Persistent
query=self.query
if (hasattr(self,"_v_searchSQL") and (self._v_searchSQL == None)) or (not hasattr(self,"_v_searchSQL")):
- self._v_searchSQL=Shared.DC.ZRDB.DA.DA("_v_searchSQL","_v_searchSQL",self.connection_id,"var","")
+
+ self._v_searchSQL=Shared.DC.ZRDB.DA.DA("_v_searchSQL","_v_searchSQL",self.getConnectionObj().getId(),"var","")
self._v_searchSQL.max_rows_=max_rows
try:
@@ -365,7 +369,7 @@ class ZSQLExtendFolder(Folder,Persistent
except :
if sys.exc_info()[0]=="Database Error":
try:
- getattr(self,self.connection_id).manage_open_connection()
+ self.getConnectionObj().manage_open_connection()
except:
zLOG.LOG("ZSQLSimpleSearch",zLOG.ERROR, '%s %s'%sys.exc_info()[:2])
else:
@@ -376,10 +380,14 @@ class ZSQLExtendFolder(Folder,Persistent
except :
if sys.exc_info()[0]=="Database Error":
try:
- getattr(self,self.connection_id).manage_open_connection()
+ self.getConnectionObj().manage_open_connection()
except:
zLOG.LOG("ZSQLSimpleSearch",zLOG.ERROR, '%s %s'%sys.exc_info()[:2])
+ def getConnectionObj(self):
+ if hasattr(self,'connection_id'):
+ return getattr(self,self.connection_id)
+
def ZSQLSimpleSearch2(self,query=None):
""" returrn SQLSearch"""
@@ -457,19 +465,20 @@ class ZSQLExtendFolder(Folder,Persistent
else:
return True
- def ZSQLChange(self,format=None,RESPONSE=None,**argv):
+ def ZSQLChange(self,format=None,RESPONSE=None,USE_FORM=None,**argv):
"""change entries"""
#qs=self.REQUEST['QUERY_STRING']
# very bad hack
qs_temp=[]
-
-# for a in self.REQUEST.form.keys():
-# qs_temp.append(a+"="+urllib.quote(str(self.REQUEST.form[a])))
+ if USE_FORM or RESPONSE:
+ for a in self.REQUEST.form.keys():
+ qs_temp.append(a+"="+urllib.quote(str(self.REQUEST.form[a])))
for field in argv.keys():
+
if field[0]=="_":
fieldTmp="-"+field[1:]
else:
@@ -499,7 +508,7 @@ class ZSQLExtendFolder(Folder,Persistent
changeString=string.join(changeList,",")
queryString="UPDATE %s SET %s WHERE %s"%(table,changeString,identify)
-
+
self.ZSQLSimpleSearch(queryString)
@@ -959,9 +968,11 @@ class ZSQLExtendFolder(Folder,Persistent
else:
return value
- def ZSQLQuery(self,query):
+ def ZSQLQuery(self,query,debug=None):
"""query"""
-
+ if debug:
+ zLOG.LOG("ZSQLQuery", zLOG.INFO, query)
+
return self.ZSQLSimpleSearch(query)