def doadd(req): default_model(req) cu = database.cx.cursor() values = [] for x in ('name','birthday','address','telephone','credit'): try: values.append(req.form[x].value) except: values.append('') try: values[4] = int(values[4]) except: values[4] = 0 cu.execute('insert into costumers (name,birthday,address,telephone,credit,total_use) values (?,?,?,?,?,0);', values) database.cx.commit() cu.execute('select id from costumers order by id desc limit 1;') id = cu.fetchone()[0] cu.close() req.wfile.write(""" <div align="center"> %s<br /> <h2>%d-%s</h2> </div> </body> </html> """ % (gettext("Your costumer's code is"), id, database.gen_usercode(id)))
def doaddpc(req): req.default_response() validcode = True try: id, digit = req.form["user"].value.split("-") id = int(id) if digit != database.gen_usercode(id): validcode = False except: validcode = False if validcode: user = req.form["user"].value cu = database.cx.cursor() cu.execute("select name from costumers where id=%d;" % id) a = cu.fetchone() cu.close() if a: username = a[0] if len(username) > 23: tmp = "" for x in username.split(): if len(tmp + x) <= 20: tmp += x + " " if tmp == "": username = username[:20] else: username = tmp.strip() username += "..." else: validcode = False if not validcode: username = "******" user = "" try: ts = h2ts(req.form["end"].value, req.form["start"].value) if not ts is None: if validcode: cu.execute( "update costumers set total_use=total_use+%d where id=%d;" % (int(round((ts - time.time()) / 60.0)), id) ) database.cx.commit() cu.close() cfgloader.do_iptables(req.form["computer"].value, True) pcs[req.form["computer"].value] = [username, req.form["start"].value, req.form["end"].value, user, ts] except: pass req.wfile.write( """<html> <head> <title>pycyber</title> <script language="javascript" type="text/javascript"><!-- window.close(); --></script> </head> </html>""" )
def edit(req): try: id = int(req.qs['id'][0]) except: return default_model(req) cu = database.cx.cursor() cu.execute('select * from costumers where id=%d;' % id) a = cu.fetchone() cu.close() req.wfile.write(""" <div align="center"> <form action="doedit?id=%d" method="post"> <table> <tr><td>%s:</td><td><input type="text" class="text" value="%d-%s" /></td></tr> <tr><td>%s:</td><td><input type="text" class="text" name="name" value="%s" /></td></tr> <tr><td>%s:</td><td><input type="text" class="text" name="birthday" value="%s" /></td></tr> <tr><td>%s:</td><td><input type="text" class="text" name="address" value="%s" /></td></tr> <tr><td>%s:</td><td><input type="text" class="text" name="telephone" value="%s" /></td></tr> <tr><td>%s:</td><td><input type="text" class="text" name="credit" value="%d" style="width:70px;" /> min</td></tr> <tr><td>%s:</td><td><input type="text" class="text" name="total_use" value="%d" style="width:70px;" /> min</td></tr> </table><br /> <input type="submit" value="OK" /> </form> </div> </body> </html> """ % (id, gettext('User code'), id, database.gen_usercode(id), gettext('Name'), a[1].encode('utf-8'), gettext('Birthday'), a[2].encode('utf-8'), gettext('Address'), a[3].encode('utf-8'), gettext('Telephone'), a[4].encode('utf-8'), gettext('Credit'), a[5], gettext('Total Use'), a[6], ))
def getuser(req): if not req.qs.has_key("id"): return if req.qs.has_key("d"): try: d = int(req.qs["d"][0]) id = int(req.qs["id"][0].split("-")[0]) except: req.send_response(500) req.send_header("Connection", "close") req.end_headers() return cu = database.cx.cursor() cu.execute("select credit from costumers where id=%d;" % id) credit = cu.fetchone()[0] if credit >= d: cu.execute("update costumers set credit=credit-%d where id=%d;" % (d, id)) database.cx.commit() else: req.send_response(500) req.send_header("Connection", "close") req.end_headers() cu.close() return cu.close() req.default_response() req.wfile.write('<table class="panel"><tr>') try: id, digit = req.qs["id"][0].split("-") id = int(id) except: invalid_usercode(req) else: if digit != database.gen_usercode(id): invalid_usercode(req) else: cu = database.cx.cursor() cu.execute("select name,credit from costumers where id=%d" % id) a = cu.fetchone() cu.close() if a: if a[1] < 60: credit = "%d min" % a[1] else: min = a[1] % 60 if min > 0: credit = "%d h %d min" % (a[1] / 60, min) else: credit = "%d h" % (a[1] / 60) req.wfile.write( """<td align="center"><b>%s</b><table> <tr><td>%s:</td><td>%s</td></tr> <tr><td>%s:</td><td>%s</td></tr> </table> """ % (gettext("Costumer"), gettext("Name"), a[0].encode("utf-8"), gettext("Credit"), credit) ) if a[1] > 0: req.wfile.write( """ <input type="text" class="text" style="width:70px;" id="d" /> min <input type="button" value="%s" style="width:100px;" onclick="t(document.getElementById('d').value)" /> """ % gettext("Deduct") ) req.wfile.write("</td>") else: invalid_usercode(req) req.wfile.write("</tr></table>")