--- 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)