def upFillKel(self, kelurahanList): if kelurahanList: selectedKelurahan = self.setComboItems(self.combo_kelurahan, kelurahanList) if selectedKelurahan in kelurahanList: return elif len(kelurahanList) == 1: loadCmb.restore_str(self.combo_box_kel, kelurahanList[0])
def OnPostcode(self, event): postcode = self.num_ctrl_postcode.GetValue() if postcode: for c in self.combos: c.SetSelection(-1) sql = "SELECT kelurahan, kecamatan, kabupaten, province FROM postcodes \ WHERE postcode = %d" % postcode res = fetch.getOneDict(sql) #rintsql, res if res: province = res['province'] kelurahan = res['kelurahan'] kecamatan = res['kecamatan'] kabupaten = res['kabupaten'] if province == 'Sumatera Utara': if kelurahan: loadCmb.restore_str(self.combo_box_kel, kelurahan) self.loadCmbsUnderKel(kelurahan) elif kecamatan: self.loadCmbsUnderKec(kecamatan) elif kabupaten: self.loadCmbsUnderKab(kabupaten) else:
def loadCmbsUnderKab(self, kabupaten): # self.postcodeClear() # rint'loadCmbsUnderKab',kabupaten # step 1: work down ------------------------------- provinceList = fetch.provinceForKabupaten(kabupaten) selectedProvince = fetch.cmbValue(self.combo_province) self.setComboItems(self.combo_province, provinceList) # step 2: work upward ----------------------- kecamatenList = fetch.kecamatanForKabupaten(kabupaten) if kecamatenList: selectedKecamaten = self.setComboItems(self.combo_kecamatan, kecamatenList) if selectedKecamaten in kecamatenList: pass elif len(kecamatenList) == 1: kecamaten = kecamatenList[0] loadCmb.restore_str(self.combo_kecamatan, kecamatenList) self.postcodeForKecamatan(kecamaten) return else: # ----------------- check / load : kelurahan -------------------------- kelurahanList = fetch.kelurahanForKabupaten(kabupaten) self.upFillKel(kelurahanList)
def loadKelurahanProvince(self, province): #rint'loadKelurahanProvince' selectedKelurahan = fetch.cmbValue(self.combo_kelurahan) kelurahanList = fetch.kelurahanForProvince(province) if kelurahanList: if selectedKelurahan in kelurahanList: return kelurahan = self.setComboItems(self.combo_kelurahan, kelurahanList) if not (kelurahan in kelurahanList) and len(kelurahanList)==1: loadCmb.restore_str(self.combo_box_kel, kelurahan)
def setKelurahan(self, selectedKelurahan, kelurahanList): # rint'setKelurahan' if kelurahanList: if len(kecamatanList) == 1: kelurahan = kelurahanList[0] loadCmb.restore_str(self.combo_kelurahan, kelurahan) else: kelurahan = self.setComboItems(self.combo_kecamatan, kelurahanList) return kelurahan else: return ""
def setKabupaten(self, selectedKabupaten, kabupatenList): # rint'setKabupaten' if kabupatenList: if len(kabupatenList) > 1: selectedKabupaten = self.setComboItems(self.combo_kabupaten, kabupatenList) elif len(kabupatenList) == 1: loadCmb.restore_str(self.combo_kabupaten, kabupatenList[0]) else: self.setComboItems(self.combo_kabupaten, kabupatenList) return selectedKabupaten
def setProvinces(self, selectedProvince, provinceList): # rint'setProvinces' if provinceList: if len(provinceList) > 1: selectedProvince = self.setComboItems(self.combo_province, provinceList) elif len(provinceList) == 1: loadCmb.restore_str(self.combo_province, provinceList[0]) else: self.clearPostcodeCtrls((self.combo_province,)) return selectedProvince
def loadCmbsUnderKec(self, kecamatan): #rint'loadCmbsUnderKec' sql = "SELECT kelurahan FROM postcodes \ WHERE kecamatan = '%s' \ GROUP BY (kelurahan) \ ORDER BY (kelurahan)" % kecamatan self.combo_box_kel.Clear() loadCmb.setItems(self.combo_box_kel, sql) sql = "SELECT kabupaten FROM postcodes \ WHERE kecamatan = '%s'" % kecamatan kabupaten = fetch.getStr(sql) loadCmb.restore_str(self.combo_box_kab, kabupaten)
def setComboItems(self, cmb, items): selected = fetch.cmbValue(cmb) cmb.Freeze() cmb.SetItems(items) cmb.Thaw() selected = loadCmb.restore_str(cmb, selected) # rint' restored item',selected if not selected: # rint' nothing selected' if len(items) == 1: selected = items[0] # rint'only one in the list', selected loadCmb.restore_str(cmb, selected) return selected
def setKecamatan(self, selectedKecamatan, kecamatanList): # rint'setKecamatan' if kecamatanList: if len(kecamatanList) == 1: kecamatan = kecamatanList[0] loadCmb.restore_str(self.combo_kecamatan, kecamatan) else: kecamatan = self.setComboItems(self.combo_kecamatan, kecamatanList) # rint' set postcode for ', kecamatan self.postcodeForKecamatan(kecamatan) return kecamatan else: # rint'postcodeClear' self.postcodeClear() return ""
def loadCmbsUnderKel(self, kelurahan): #rint'loadCmbsUnderKel' sql = "SELECT kecamatan FROM postcodes \ WHERE kelurahan = '%s'" % kelurahan kecamatan = fetch.getStr(sql) loadCmb.restore_str(self.combo_box_kec, kecamatan) sql = "SELECT kabupaten FROM postcodes \ WHERE kelurahan = '%s'" % kelurahan kabupaten = fetch.getStr(sql) loadCmb.restore_str(self.combo_box_kab, kabupaten) sql = "SELECT postcode FROM postcodes \ WHERE kelurahan = '%s'" % kelurahan postcode = fetch.getDig(sql) self.num_ctrl_postcode.Freeze() self.num_ctrl_postcode.SetValue(postcode) self.num_ctrl_postcode.Thaw()
def OnPostcode(self, event): if self.numCtrlActive: return postcode = self.num_ctrl_postcode.GetValue() if postcode: for c in self.combos: c.SetSelection(-1) sql = ( "SELECT kecamatan, kabupaten, province \ FROM postcodes \ WHERE postcode = %d" % postcode ) res = fetch.getOneDict(sql) if res: province = res["province"] kecamatan = res["kecamatan"] kabupaten = res["kabupaten"] if kecamatan: loadCmb.restore_str(self.combo_kecamatan, kecamatan) self.loadCmbsUnderKec(kecamatan) elif kabupaten: loadCmb.restore_str(self.combo_kabupaten, kabupaten) self.loadCmbsUnderKab(kabupaten) elif province: loadCmb.restore_str(self.province, province) self.loadCmbsUnderProv(province)
def displayData(self, address_id=0): self.numCtrlActive = False self.address_id = address_id self.loadAllCombos() self.num_ctrl_postcode.SetValue(0) sql = "SELECT poscode FROM addresses WHERE address_id = %d" % address_id postcode = fetch.getStr(sql) if postcode: sql = "SELECT * FROM postcodes WHERE postcode =%d" % postcode dataSet = fetch.getOneDict(sql) self.num_ctrl_postcode.SetValue(dataSet["postcode"]) kelurahan, kecamatan, kabupaten, province = ( dataSet("kelurahan"), dataSet("kecamatan"), dataSet("kabupaten"), dataSet("province"), ) if kelurahan: loadCmb.restore_str(self.combo_kabupaten, kabupaten) self.loadCmbsUnderKab(kabupaten) elif kecamatan: loadCmb.restore_str(self.combo_kecamatan, kecamatan) self.loadCmbsUnderKec(kecamatan) elif kelurahan: loadCmb.restore_str(self.combo_kelurahan, kelurahan) self.loadCmbsUnderKal(kelurahan)
def displayData(self, postcode=0): self.loadAllCombos() self.num_ctrl_postcode.SetValue(0) if postcode: sql = "SELECT * FROM postcodes WHERE postcode =%d" % postcode dataSet = fetch.getOneDict(sql) self.num_ctrl_postcode.SetValue(dataSet['postcode']) kelurahan, kecamatan, kabupaten = (dataSet('kelurahan'), dataSet('kecamatan'), dataSet('kabupaten')) if kelurahan: loadCmb.restore_str(self.combo_box_kab, kabupaten) self.loadCmbsUnderKab(kabupaten) elif kecamatan: loadCmb.restore_str(self.combo_box_kec, kecamatan) self.loadCmbsUnderKec(kecamatan) elif kelurahan: loadCmb.restore_str(self.combo_box_kel, kelurahan) self.loadCmbsUnderKal(kelurahan)
def InCemaraAsri(self, event): self.checkbox_within_estate.SetValue(1) self.num_ctrl_postcode.SetValue(20371) self.text_ctrl_road.SetValue("Cemara") loadCmb.restore_str(self.combo_box_estate, "Perum. Cemara Asri") loadCmb.restore_str(self.combo_kelurahan, "Sampali")
def restore_str(self, cmb): if not loadCmb.restore_str(self.combo_province, self.restoreStr): self.combo_province.SetSelection(-1) self.enableCombos()
def OnCancelCountry(self, evt): if not loadCmb.restore_str(self.combo_country, self.restoreStr): self.combo_country.SetSelection(-1) self.enableCombos()
def setGen(self, selectedItem, aList, cmb): if aList: if len(aList)>1: selectedItem = self.setComboItems(cmb, aList) elif len(aList)==1: loadCmb.restore_str(cmb, aList[0]) else: self.clearPostcodeCtrls((cmb,)) return selectedItem