def getNextTab(self): if self.newvis: ok = "yes" else: ok = askQuestion(self.opts["mf"].body, "Type", "Is this TAB for a Visitor", default="no") if ok == "no": if self.samen == "Y": return if self.gender == "M": start = self.mstart if self.mstart < self.fstart: last = self.fstart else: last = self.nstart else: start = self.fstart if self.mstart < self.fstart: last = self.nstart else: last = self.mstart else: start = self.nstart last = 900000 self.tab = getNextCode(self.sql, "bwltab", "btb_tab", where=[("btb_cono", "=", self.opts["conum"])], start=start, last=last) self.df.loadEntry("T", 0, 0, data=self.tab) return True
def doClubDesc(self, frt, pag, r, c, p, i, w): acc = self.sql.getRec("bwlclb", where=[("bcc_name", "=", w)], limit=1) if acc: self.nop.loadEntry(frt, pag, p - 1, data=acc[0]) else: self.club = getNextCode(self.sql, "bwlclb", "bcc_code", last=999) self.nop.loadEntry(frt, pag, p - 1, data=self.club) self.sql.insRec("bwlclb", data=[self.club, w]) self.opts["mf"].dbm.commitDbase()
def doAutEnd(self): self.aend = True self.acode = getNextCode(self.sql, "bksaut", "baf_code", start=1, last=9999) data = [self.acode, self.aa.t_work[0][0][0], self.aa.t_work[0][0][1]] self.sql.insRec("bksaut", data=data) self.aa.closeProcess()
def doNEnd(self): self.new.closeProcess() self.newcod = getNextCode(self.sql, "bwltab", "btb_tab", where=[("btb_cono", "=", self.opts["conum"])], start=self.nstart, last=900000) data = [self.opts["conum"], self.newcod, 0] data.extend(self.new.t_work[0][0][1:3]) data.extend([self.new.t_work[0][0][0], "", "", "", ""]) data.extend(self.new.t_work[0][0][3:]) data.extend(self.new.t_work[0][0][7:]) data.append(0) self.sql.insRec("bwltab", data=data)
def doDelete(self): if self.newtab: return error = False for key in self.keys: if key[0] == "bwltab": continue chk = self.sql.getRec(tables=key[0], where=[(key[1], "=", self.opts["conum"]), (key[2], "=", self.tab)], limit=1) if chk: error = True break if error: if self.tab < self.nstart: # Member ok = askQuestion(self.opts["mf"].body, "Convert", "Convert this Member to a Visitor", default="yes") if ok == "no": return "Not Deleted nor Converted" tab = getNextCode(self.sql, "bwltab", "btb_tab", where=[("btb_cono", "=", self.opts["conum"]) ], start=self.nstart, last=900000) for key in self.keys: self.sql.updRec(key[0], cols=[key[2]], data=[tab], where=[(key[1], "=", self.opts["conum"]), (key[2], "=", self.tab)]) else: # Visitor chk = self.sql.getRec("bwlent", where=[("bce_cono", "=", self.opts["conum"]), ("bce_scod", "=", self.tab)]) if chk: return "There is History for this Player, Not Deleted" self.sql.delRec("bwltab", where=[("btb_cono", "=", self.opts["conum"]), ("btb_tab", "=", self.tab)]) else: self.sql.delRec("bwltab", where=[("btb_cono", "=", self.opts["conum"]), ("btb_tab", "=", self.tab)]) self.opts["mf"].dbm.commitDbase()
def doConvert(self): titl = "Enter Member's Tab Number" ent = SimpleDialog(parent=self.df.window, title=titl, cols=(("a", "Tab Number ", 6, "UI", "Tab"), )) ent.sframe.wait_window() try: self.merge = False if self.gender == "M": start = self.mstart if self.mstart < self.fstart: last = self.fstart - 1 else: last = self.nstart - 1 else: start = self.fstart if self.mstart < self.fstart: last = self.nstart - 1 else: last = self.mstart - 1 tab = ent.data[0] if not tab: tab = getNextCode(self.sql, "bwltab", "btb_tab", where=[("btb_cono", "=", self.opts["conum"]) ], start=start, last=last) if tab < start or tab > last: showInfo(self.opts["mf"].body, "Error", "Invalid Tab Number for Gender") raise Exception chk = self.sql.getRec("bwltab", where=[("btb_cono", "=", self.opts["conum"]), ("btb_tab", "=", tab)], limit=1) if chk: ok = askQuestion( self.opts["mf"].body, "Invalid", "This Tab is Already Allocated, Do You Want to Merge?") if ok == "no": raise Exception self.merge = True self.tabcvt = True self.old = self.tab self.tab = tab self.df.loadEntry(self.df.frt, self.df.pag, 0, data=self.tab) self.df.focusField(self.df.frt, self.df.pag, 6) except: self.df.focusField(self.df.frt, self.df.pag, self.df.col)
def doOwnEnd(self): self.oend = True self.ocode = getNextCode(self.sql, "bksown", "bof_code", start=1, last=9999) data = [ self.opts["conum"], self.acode, self.oo.t_work[0][0][0], self.oo.t_work[0][0][1], "", "", "", "", "", "", "", "" ] self.sql.insRec("bksown", data=data) self.oo.closeProcess()
def doCode(self, frt, pag, r, c, p, i, w): if not w: self.author = getNextCode(self.sql, "bksaut", "baf_code", last=999) self.df.loadEntry(frt, pag, p, data=self.author) else: self.author = w self.old = self.sql.getRec("bksaut", where=[("baf_code", "=", self.author)], limit=1) if not self.old: self.newaut = True else: self.newaut = False for num, fld in enumerate(self.old[:-1]): self.df.loadEntry(frt, pag, num, data=fld)
def doClbCod(self, frt, pag, r, c, p, i, w): if not w: self.club = getNextCode(self.sql, "bwlclb", "bcc_code", last=999) self.df.loadEntry(frt, pag, p, data=self.club) else: self.club = w self.old = self.sql.getRec("bwlclb", where=[("bcc_code", "=", self.club)], limit=1) if not self.old: self.newclb = True else: self.newclb = False for num, fld in enumerate(self.old[:-1]): self.df.loadEntry(frt, pag, num, data=fld)
def doSecEnd(self): ccod = getNextCode(self.sql, "bwlcmp", "bcm_code", where=[("bcm_cono", "=", self.opts["conum"])], last=999) self.sql.updRec("bwlcmp", cols=["bcm_poff"], data=[ccod], where=[("bcm_cono", "=", self.opts["conum"]), ("bcm_code", "=", self.ccod)]) cdes = self.cdes + " Play-Off" t = time.localtime() cdte = ((t[0] * 10000) + (t[1] * 100) + t[2]) self.sql.insRec("bwlcmp", data=[self.opts["conum"], ccod, cdes, cdte, 0, ""]) for skp in self.swin: self.sql.insRec("bwlent", data=[self.opts["conum"], ccod, skp, 0, "Y", ""]) callModule(self.opts["mf"], self.df, "bc2050", coy=[self.opts["conum"], self.opts["conam"]], args=ccod)
def doCmpTyp(self, frt, pag, r, c, p, i, w): if not w: ok = askQuestion(self.opts["mf"].body, head="New Type", mess="Is This a New Competition Type?") if ok == "yes": w = getNextCode(self.sql, "bwltyp", "bct_code", where=[("bct_cono", "=", self.opts["conum"])], last=99) w = callModule(self.opts["mf"], self.df, "bc1040", coy=(self.opts["conum"], self.opts["conam"]), args=w, ret="ctype") self.df.loadEntry(frt, pag, p, data=w) self.typ = self.sql.getRec("bwltyp", where=[("bct_cono", "=", self.opts["conum"]), ("bct_code", "=", w)], limit=1) if not self.typ: return "Invalid Competition Type" self.cfmat = self.typ[self.sql.bwltyp_col.index("bct_cfmat")] self.tsize = self.typ[self.sql.bwltyp_col.index("bct_tsize")]
def doCode(self, frt, pag, r, c, p, i, w): if not w: self.owner = getNextCode(self.sql, "bksown", "bof_code", last=999) self.df.loadEntry(frt, pag, p, data=self.owner) else: self.owner = w self.old = self.sql.getRec("bksown", where=[("bof_cono", "=", self.opts["conum"]), ("bof_code", "=", self.owner)], limit=1) if not self.old: self.newown = True else: self.newown = False for num, fld in enumerate(self.old[1:-1]): self.df.loadEntry(frt, pag, num, data=fld)
def doLonNum(self, frt, pag, r, c, p, i, w): self.newlon = False if not w and self.opts["rtn"] in (1, 2, 3): ok = askQuestion(self.opts["mf"].body, head="New Loan", mess="Is This a New Loan?", default="no") if ok == "yes": self.newlon = True self.lonnum = getNextCode(self.sql, "lonmf2", "lm2_loan", where=[ ("lm2_cono", "=", self.allcoy), ("lm2_acno", "=", self.lonacc) ], start=1, last=9999999) self.df.loadEntry(frt, pag, p, data=self.lonnum) else: return "Invalid Loan Number" else: self.lonmf2 = self.sql.getRec("lonmf2", where=[ ("lm2_cono", "=", self.allcoy), ("lm2_acno", "=", self.lonacc), ("lm2_loan", "=", w) ], limit=1) if not self.lonmf2: return "Invalid Loan Number" self.lonnum = w self.londes = self.lonmf2[self.sql.lonmf2_col.index("lm2_desc")] self.londat = self.lonmf2[self.sql.lonmf2_col.index("lm2_start")] self.lonmth = self.lonmf2[self.sql.lonmf2_col.index("lm2_pmths")] self.lonpay = self.lonmf2[self.sql.lonmf2_col.index("lm2_repay")] if self.opts["rtn"] in (1, 3) and self.lonmth: showError( self.opts["mf"].body, "Fixed Loan", """This is a Fixed Period Loan. Please Create a New Loan for this Account.""") return "Invalid Loan Number" self.df.loadEntry(frt, pag, p + 1, data=self.londes) return "sk1"
def doTypCod(self, frt, pag, r, c, p, i, w): if not w: self.code = getNextCode(self.sql, "bwlflf", "bff_code", where=[("bff_cono", "=", self.opts["conum"])], last=9) self.df.loadEntry(frt, pag, p, data=self.code) else: self.code = w self.old = self.sql.getRec("bwlflf", where=[("bff_cono", "=", self.opts["conum"]), ("bff_code", "=", self.code)], limit=1) if not self.old: self.newtyp = True else: self.newtyp = False idx = self.sql.bwlflf_col.index("bff_forms") for num, fld in enumerate(self.old[1:-1]): if num == idx: self.df.loadEntry(frt, pag, num, data=str(fld)) else: self.df.loadEntry(frt, pag, num, data=fld)
def doEmpno(self, frt, pag, r, c, p, i, w): self.empno = w acc = self.sql.getRec("wagmst", cols=["wgm_sname", "wgm_fname"], where=[("wgm_cono", "=", self.opts["conum"]), ("wgm_empno", "=", self.empno)], limit=1) if not acc: return "Invalid Employee Number" self.name = "%s, %s" % (acc[0], acc[1].split()[0]) self.df.loadEntry("C", pag, p + 1, data=self.name) self.loan = getNextCode(self.sql, "waglmf", "wlm_loan", where=[("wlm_cono", "=", self.opts["conum"]), ("wlm_empno", "=", self.empno)], start=1, last=9999999) self.df.loadEntry("C", pag, p + 2, data=self.loan)
def doCode(self, frt, pag, r, c, p, i, w): self.bcode = w if not self.bcode: ok = askQuestion(self.opts["mf"].body, "New Book", "Is This a New Book?", default="no") if ok == "no": return "Invalid Code" self.newbk = True self.bcode = getNextCode(self.sql, "bksmst", "bmf_code", start=1, last=9999) self.df.loadEntry(frt, pag, p, data=self.bcode) else: self.old = self.sql.getRec("bksmst", where=[("bmf_cono", "=", self.opts["conum"]), ("bmf_code", "=", self.bcode)], limit=1) if not self.old: ok = askQuestion(self.opts["mf"].body, "Code", "Is This a Manual Code?", default="no") if ok == "no": return "Invalid Code" self.newbk = True return col = 0 self.newbk = False for num, dat in enumerate(self.old[1:-1]): self.df.loadEntry(frt, pag, col, data=dat) if num == 2: col += 1 self.df.loadEntry(frt, pag, col, data=self.getAuthor(dat)) elif num == 3: col += 1 self.df.loadEntry(frt, pag, col, data=self.getOwner(dat)) col += 1
def doCmpCod(self, frt, pag, r, c, p, i, w): self.erase = False self.skips = [] if not w: self.ccod = getNextCode(self.sql, "bwlcmp", "bcm_code", where=[("bcm_cono", "=", self.opts["conum"])], last=999) self.df.loadEntry(frt, pag, p, data=self.ccod) else: self.ccod = w self.cmp = self.sql.getRec("bwlcmp", where=[("bcm_cono", "=", self.opts["conum"]), ("bcm_code", "=", self.ccod)], limit=1) if not self.cmp: ok = askQuestion(self.opts["mf"].body, head="New Competition", mess="Is This a New Competition?", default="no") if ok == "no": return "rf" self.newcmp = True else: if self.cmp[self.sql.bwlcmp_col.index("bcm_poff")]: showError(self.opts["mf"].body, "Complete", "This Sectional Competition Has Been Completed.") return "rf" gme = self.sql.getRec("bwlgme", cols=["count(*)"], where=[("bcg_cono", "=", self.opts["conum"]), ("bcg_ccod", "=", self.ccod), ("bcg_ocod", "<>", 0)], limit=1) if gme[0]: ok = askQuestion(self.opts["mf"].body, "Error", """This Competition Has Already Been Drawn. Do You Want to Erase All Draws and Results?""", default="no") if ok == "no": return "rf" self.erase = True self.newcmp = False for num, fld in enumerate(self.cmp[1:-2]): self.df.loadEntry(frt, pag, p+num, data=fld) ent = self.sql.getRec("bwlent", cols=["bce_scod"], where=[("bce_cono", "=", self.opts["conum"]), ("bce_ccod", "=", self.ccod)]) for e in ent: self.skips.append(e[0])
def doTabChg(self, tabdat): code = getNextCode(self.sql, "bwltab", "btb_tab", where=[("btb_cono", "=", self.opts["conum"])], start=self.nstart, last=900000) tables = (("bwldrt", "bdt_cono", "bdt_tab", "bdt_team1", "bdt_team2", "bdt_team3"), ("bwlent", "bce_cono", "bce_scod"), ("bwlflm", "bfm_cono", "bfm_captain"), ("bwlflt", "bft_cono", "bft_skip", "bft_player"), ("bwlgme", "bcg_cono", "bcg_scod", "bcg_ocod"), ("bwltab", "btb_cono", "btb_tab")) for tab in tables: for col in tab[2:]: self.sql.updRec(tab[0], cols=[col], data=[code], where=[(tab[1], "=", self.opts["conum"]), (col, "=", self.tab)]) self.sql.insRec("bwltab", data=tabdat)
def doSlnNum(self, frt, pag, r, c, p, i, w): if not w and self.opts["rtn"] == 1: ok = askQuestion(self.opts["mf"].body, head="New Loan", mess="Is This a New Loan?", default="no") if ok == "yes": self.newsln = True self.slnnum = getNextCode(self.sql, "waglmf", "wlm_loan", where=[ ("wlm_cono", "=", self.allcoy), ("wlm_empno", "=", self.empnum) ], start=1, last=9999999) self.df.loadEntry(frt, pag, p, data=self.slnnum) else: return "Invalid Loan Number" else: acc = self.sql.getRec("waglmf", where=[("wlm_cono", "=", self.allcoy), ("wlm_empno", "=", self.empnum), ("wlm_loan", "=", w)], limit=1) if not acc: return "Invalid Loan Number" self.slnnum = w self.newsln = False self.slndes = acc[self.sql.waglmf_col.index("wlm_desc")] self.slncod = acc[self.sql.waglmf_col.index("wlm_code")] self.slnrte = acc[self.sql.waglmf_col.index("wlm_rate")] self.slndat = acc[self.sql.waglmf_col.index("wlm_start")] self.slnded = acc[self.sql.waglmf_col.index("wlm_repay")] self.df.loadEntry(frt, pag, p + 1, data=self.slndes) return "sk1"
def doTypCod(self, frt, pag, r, c, p, i, w): if not w: self.ctype = getNextCode(self.sql, "bwltyp", "bct_code", where=[("bct_cono", "=", self.opts["conum"])], last=99) self.df.loadEntry(frt, pag, p, data=self.ctype) else: self.ctype = w self.old = self.sql.getRec("bwltyp", where=[("bct_cono", "=", self.opts["conum"]), ("bct_code", "=", self.ctype)], limit=1) if not self.old: self.newtyp = True else: self.newtyp = False self.cdesc = self.old[self.sql.bwltyp_col.index("bct_desc")] self.cfmat = self.old[self.sql.bwltyp_col.index("bct_cfmat")] self.tsize = self.old[self.sql.bwltyp_col.index("bct_tsize")] self.ends = self.old[self.sql.bwltyp_col.index("bct_ends")] self.groups = self.old[self.sql.bwltyp_col.index("bct_groups")] self.adjust = self.old[self.sql.bwltyp_col.index("bct_adjust")] for num, fld in enumerate(self.old[1:-1]): self.df.loadEntry(frt, pag, num, data=fld) chk = self.sql.getRec("bwlcmp", where=[("bcm_cono", "=", self.opts["conum"]), ("bcm_type", "=", self.ctype)], limit=1) if chk: self.exist = True else: self.exist = False
def doSide(self, frt, pag, r, c, p, i, w): if not w: self.side = getNextCode(self.sql, "bwlfls", "bfs_code", where=[("bfs_cono", "=", self.opts["conum"]), ("bfs_fmat", "=", self.fmat)], last=999) self.df.loadEntry(frt, pag, p, data=self.side) else: self.side = w self.old = self.sql.getRec("bwlfls", where=[("bfs_cono", "=", self.opts["conum"]), ("bfs_fmat", "=", self.fmat), ("bfs_code", "=", self.side)], limit=1) if not self.old: self.newfls = True else: self.newfls = False for num, fld in enumerate(self.old[3:-1]): self.df.loadEntry(frt, pag, num + 3, data=fld)
def doCmpCod(self, frt, pag, r, c, p, i, w): self.skips = [] self.parts = [] nxtcod = getNextCode(self.sql, "scpcmp", "scp_ccod", where=[("scp_cono", "=", self.opts["conum"])], last=999) if not w or w > nxtcod: self.ccod = nxtcod self.df.loadEntry(frt, pag, p, data=self.ccod) else: self.ccod = w self.old = self.sql.getRec("scpcmp", where=[("scp_cono", "=", self.opts["conum"]), ("scp_ccod", "=", self.ccod)], limit=1) if not self.old: ok = askQuestion(self.opts["mf"].body, head="New Competition", mess="Is This a New Competition?", default="no") if ok == "no": return "rf" self.newcmp = True else: state = self.old[self.sql.scpcmp_col.index("scp_state")] if state > 1: return "This Competition Has Already Started" if state == 1: ok = askQuestion(self.opts["mf"].window, "Already Drawn", """This Competition Has Already Been Drawn. Do You Want to Modify and Redraw It?""", default="no") if ok == "no": return "rf" self.sql.updRec("scpcmp", cols=["scp_state"], data=[0], where=[("scp_cono", "=", self.opts["conum"]), ("scp_ccod", "=", self.ccod)]) self.sql.delRec("scpgme", where=[("scg_cono", "=", self.opts["conum"]), ("scg_ccod", "=", self.ccod)]) self.sql.delRec("scprnd", where=[("scr_cono", "=", self.opts["conum"]), ("scr_ccod", "=", self.ccod)]) self.sql.delRec("scpsec", where=[("scs_cono", "=", self.opts["conum"]), ("scs_ccod", "=", self.ccod)]) self.newcmp = False self.cmpnam = self.old[self.sql.scpcmp_col.index("scp_name")] self.tsex = self.old[self.sql.scpcmp_col.index("scp_tsex")] self.tsiz = self.old[self.sql.scpcmp_col.index("scp_tsiz")] self.fmat = self.old[self.sql.scpcmp_col.index("scp_fmat")] self.logo = self.old[self.sql.scpcmp_col.index("scp_logo")] self.df.loadEntry(frt, pag, p + 1, data=self.cmpnam) self.df.loadEntry(frt, pag, p + 2, data=str(self.tsex)) self.df.loadEntry(frt, pag, p + 3, data=str(self.tsiz)) self.df.loadEntry(frt, pag, p + 4, data=self.fmat) self.df.loadEntry(frt, pag, p + 5, data=self.logo)
def doSkpCod(self, frt, pag, r, c, p, i, w): if not w: ok = askQuestion(self.opts["mf"].body, head="New Player", mess="Is This a New Player?", default="yes") if ok == "no": return "Invalid Code" cod = getNextCode(self.sql, "scpmem", "scm_scod", where=[("scm_cono", "=", self.opts["conum"])], last=899999) callModule(self.opts["mf"], self.df, "sc1010", coy=[self.opts["conum"], self.opts["conam"]], args=(cod, )) self.df.loadEntry(frt, pag, p, data=cod) else: cod = w if i == 0: if cod in self.parts: return "Invalid Skip, Already a Partner" self.skips.append(cod) self.scod = cod else: if cod in self.skips: return "Invalid Partner, Already a Skip" self.parts.append(cod) self.pcod = cod chk = self.sql.getRec("scpmem", cols=["scm_surname", "scm_names", "scm_gender"], where=[("scm_cono", "=", self.opts["conum"]), ("scm_scod", "=", cod)], limit=1) if not chk: return "Invalid Player Code" if self.tsex in ("M", "F") and chk[2] != self.tsex: return "Invalid Gender" self.df.loadEntry(frt, pag, p + 1, data=self.getName(chk=chk)) if i == 0: ent = self.sql.getRec("scpent", cols=["sce_pcod"], where=[("sce_cono", "=", self.opts["conum"]), ("sce_ccod", "=", self.ccod), ("sce_scod", "=", self.scod)], limit=1) if ent: self.newent = False if ent[0]: ptr = self.sql.getRec("scpmem", cols=["scm_surname", "scm_names"], where=[("scm_cono", "=", self.opts["conum"]), ("scm_scod", "=", ent[0])], limit=1) self.df.loadEntry(frt, pag, p + 2, data=ent[0]) self.df.loadEntry(frt, pag, p + 3, data=self.getName(chk=ptr)) else: self.newent = True if self.tsiz != 2: self.pcod = 0 return "sk3"