Esempio n. 1
0
 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
Esempio n. 2
0
 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()
Esempio n. 3
0
 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()
Esempio n. 4
0
 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)
Esempio n. 5
0
 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()
Esempio n. 6
0
 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)
Esempio n. 7
0
 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()
Esempio n. 8
0
 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)
Esempio n. 9
0
 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)
Esempio n. 10
0
 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)
Esempio n. 11
0
 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")]
Esempio n. 12
0
 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)
Esempio n. 13
0
    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"
Esempio n. 14
0
 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)
Esempio n. 15
0
 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)
Esempio n. 16
0
 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
Esempio n. 17
0
    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])
Esempio n. 18
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)
Esempio n. 19
0
 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"
Esempio n. 20
0
 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
Esempio n. 21
0
 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)
Esempio n. 22
0
    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)
Esempio n. 23
0
 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"