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
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
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)
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)
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)
def restore_id(self, cmb): if not loadCmb.restore(self.combo_province, self.restoreID): self.combo_province.SetSelection(0) self.enableCombos()