Beispiel #1
0
def gen(cmb, sql , first_item='') : #sql should be designed to return two items 'id' and 'title'
    try:    origional_id = fetch.cmbID(cmb)
    except: origional_id=0
    
    dataSet      = fetch.getAllCol(sql)
    
    cmb.Freeze()  # locks the combo so that other processes are not called
    cmb.Clear()
    
    try:
        if first_item:   cmb.Append(first_item, 0)
            
        for row in dataSet:
            ##rint row
            cmb.Append(str(row[1]), row[0])
            
        restored = restore(cmb, origional_id)
        
        cmb.Thaw()
        
        if restored: return origional_id
        else:        return 0
        
    except:
        #rint 'load cmb error'
        cmb.Thaw()
        return 0
    
    cmb.Thaw()
Beispiel #2
0
    def loadAddress(self, address_id):
	#rint'loadAddress'
	
	sql = "SELECT postcode \
		 FROM addresses \
		WHERE id = %d" % address_id
	#rintsql
        postcode = fetch.getDig(sql)
	#if postcode:
	self.num_ctrl_postcode.SetValue(str(postcode))
	sql = "SELECT id, itemName \
		 FROM addressItems \
		WHERE itemType = 'kecamatan' \
		  AND postcode = %d " % postcode
	dataSet = fetch.getAllCol(sql)
	if len(dataSet)!=1: # as it should

	    #rint' what to do ?'
	    return
	kecamatanID = dataSet[0][0]
	loadCmb.restore(self.combo_kecamatan, kecamatanID)
	
	selectedKabupatenID = fetch.cmbID(self.combo_kabupaten)
	selectedProvinceID  = fetch.cmbID(self.combo_province)
        # step 1: working down -------------------------------
        
	#kecamatan = 
        # do for kabupaten --------------------------------
        kabupatenList       = fetch.kabupatenForKecamatanID(kecamatanID)
        if selectedKabupatenID in self.idList(kabupatenList):
	    return

        kabupatenID = self.setGen(selectedKabupatenID, kabupatenList, self.combo_kabupaten)              
	provinceID  = self.provincesForKabupaten(kabupatenID, selectedKabupatenID)
	
        self.countriesForProvince(provinceID, selectedProvinceID)
	
	return
        # step 2 - work up
        kelurahanList = fetch.kelurahanForKecamatanID(kecamatanID)
	#rint 'upFillKel   kelurahanList', kelurahanList
        self.upFillKel(kelurahanList)    
Beispiel #3
0
def genAdd(cmb, sql , first_item='') : #sql should be designed to return two items 'id' and 'title'
    
    origional_id = fetch.cmbID(cmb)
    
    dataSet      = fetch.getAllCol(sql)
    cmb.Freeze()  # locks the combo so that other processes are not called
    
    cmb.Clear()
    
    if first_item:
        cmb.Append(first_item, -1)
        cmb.Append('', 0)
    for row in dataSet:
        #rint 'x'
        cmb.Append(str(row[1]), row[0])
    
    restored = restore(cmb, origional_id)
    
    cmb.Thaw()
    
    if restored:
        cmb.Thaw  
        return origional_id
    else:
        cmb.SetSelection(1)
    origional_id = fetch.cmbID(cmb)
    cmb.Freeze()  # locks the combo so that other processes are not called
    #rint 'dataSet:', dataSet
    cmb.Clear()
    if first_item:      cmb.Append(first_item,0)
    for row in dataSet:
        txt, iid = str(row[1]), row[0]
        #rint txt, iid
        cmb.Append(txt , iid)
    restored = restore(cmb, origional_id)
    
    cmb.Thaw()    
    if restored: return origional_id
    else:        return 0