コード例 #1
0
ファイル: costumers.py プロジェクト: BackupTheBerlios/pycyber
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)))
コード例 #2
0
ファイル: main.py プロジェクト: BackupTheBerlios/pycyber
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>"""
    )
コード例 #3
0
ファイル: costumers.py プロジェクト: BackupTheBerlios/pycyber
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],
))
コード例 #4
0
ファイル: main.py プロジェクト: BackupTheBerlios/pycyber
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&nbsp;&nbsp;
<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>")