예제 #1
0
    def setGen(self, selectedItemID, aList, cmb):
        if aList:
	    r = aList[0]
	    if len(r) != 2:
		fetch.msg('list error')
	    
            if len(aList)  > 1: selectedItemID = self.setComboItems(cmb, aList)
            elif len(aList)==1:
		selectedItemID =  aList[0][0]
		loadCmb.restore(cmb, selectedItemID)
            else:               self.clearPostcodeCtrls((cmb,))
        return selectedItemID
예제 #2
0
    def setComboItems(self, cmb, itemsList):
        selectedID = fetch.cmbID(cmb)
        cmb.Freeze()
	cmb.Clear()
        for row in itemsList:
            cmb.Append(str(row[1]), row[0])
        cmb.Insert(' ', 0)
        cmb.Thaw()
        
        selectedID = loadCmb.restore(cmb, selectedID)
        if not selectedID:
            if len(itemsList) == 1:
                selectedID = itemsList[0][0]
                loadCmb.restore(cmb, selectedID)
        return selectedID
예제 #3
0
    def OnPostcode(self, evt):
        #rint 'OnPostcode'
        if self.numCtrlActive:  return
        
        postcode = self.num_ctrl_postcode.GetValue()
        if postcode:
            for c in self.combos: c.SetSelection(-1)
            sql = "SELECT id, itemName \
                     FROM addressItems \
                    WHERE postcode = %d" % postcode
            res = fetch.getOneDict(sql)
            if res:
                iid  = res['id']
                kecamatan = res['itemName']
                if kecamatan:
                    loadCmb.restore(self.combo_kecamatan, iid)
		    fetch.msg('postcode')
                    self.loadCmbsUnderKecID(iid)
예제 #4
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)    
예제 #5
0
 def displayData(self, student_id):
     self.student_id = student_id
     p = self.GetTopLevelParent().panel_filter1
     
     loadCmb.inv_students(self.combo_box_student, p)
     loadCmb.restore(self.combo_box_student, student_id)
예제 #6
0
 def restore_id(self, cmb):
     if not loadCmb.restore(self.combo_province, self.restoreID):
         self.combo_province.SetSelection(0)
     self.enableCombos()