generate new numbers ony by one
This commit is contained in:
parent
d5da62d800
commit
4a435037cd
44
app.py
44
app.py
|
|
@ -66,41 +66,43 @@ def current_api():
|
||||||
# @app.route("/admin", methods=["GET", "POST"])
|
# @app.route("/admin", methods=["GET", "POST"])
|
||||||
def admin():
|
def admin():
|
||||||
db = get_db()
|
db = get_db()
|
||||||
|
|
||||||
if request.method == "POST":
|
if request.method == "POST":
|
||||||
action = request.form.get("action")
|
action = request.form.get("action")
|
||||||
if action == "start":
|
if action == "add":
|
||||||
n = int(request.form.get("count", "0"))
|
# dodaj nowy numer na końcu puli
|
||||||
db.execute("DELETE FROM items")
|
cur = db.execute("SELECT number FROM items ORDER BY id DESC LIMIT 1").fetchone()
|
||||||
for i in range(1, n + 1):
|
if cur:
|
||||||
db.execute(
|
try:
|
||||||
"INSERT INTO items (number, status) VALUES (?, 'waiting')",
|
last = int(cur["number"])
|
||||||
(str(i),),
|
except:
|
||||||
)
|
last = 0
|
||||||
|
new = last + 1
|
||||||
|
else:
|
||||||
|
new = 1
|
||||||
|
db.execute("INSERT INTO items (number, status) VALUES (?, 'waiting')", (str(new),))
|
||||||
db.commit()
|
db.commit()
|
||||||
|
|
||||||
elif action == "call":
|
elif action == "call":
|
||||||
num = request.form.get("num")
|
num = request.form.get("num")
|
||||||
# mark chosen number as called
|
db.execute("UPDATE items SET status='called' WHERE number=? AND status='waiting'", (num,))
|
||||||
db.execute(
|
|
||||||
"UPDATE items SET status='called' WHERE number=? AND status='waiting'",
|
|
||||||
(num,),
|
|
||||||
)
|
|
||||||
db.commit()
|
db.commit()
|
||||||
|
|
||||||
elif action == "done":
|
elif action == "done":
|
||||||
num = request.form.get("num")
|
num = request.form.get("num")
|
||||||
db.execute(
|
db.execute("UPDATE items SET status='done' WHERE number=? AND status='called'", (num,))
|
||||||
"UPDATE items SET status='done' WHERE number=? AND status='called'",
|
|
||||||
(num,),
|
|
||||||
)
|
|
||||||
db.commit()
|
|
||||||
elif action == "reset":
|
|
||||||
db.execute("DELETE FROM items")
|
|
||||||
db.commit()
|
db.commit()
|
||||||
|
|
||||||
elif action == "return":
|
elif action == "return":
|
||||||
num = request.form.get("num")
|
num = request.form.get("num")
|
||||||
if num:
|
if num:
|
||||||
# ustaw ponownie na 'waiting' tylko jeśli aktualnie było 'called'
|
|
||||||
db.execute("UPDATE items SET status='waiting' WHERE number=? AND status='called'", (num,))
|
db.execute("UPDATE items SET status='waiting' WHERE number=? AND status='called'", (num,))
|
||||||
db.commit()
|
db.commit()
|
||||||
|
|
||||||
|
elif action == "reset":
|
||||||
|
db.execute("DELETE FROM items")
|
||||||
|
db.commit()
|
||||||
|
|
||||||
return redirect(url_for("admin"))
|
return redirect(url_for("admin"))
|
||||||
|
|
||||||
cur_wait = db.execute(
|
cur_wait = db.execute(
|
||||||
|
|
|
||||||
|
|
@ -22,12 +22,16 @@
|
||||||
<body>
|
<body>
|
||||||
<h2>Panel admina</h2>
|
<h2>Panel admina</h2>
|
||||||
|
|
||||||
<form method="post" style="margin-bottom:12px">
|
<form method="post" style="margin-bottom:18px">
|
||||||
<label>Start — liczba numerów:
|
<div style="display:flex;flex-direction:column;gap:10px;max-width:220px">
|
||||||
<input name="count" type="number" min="1" value="20" style="width:80px;margin-left:6px">
|
<button class="btn" name="action" value="add" style="background:#4caf50;color:#fff;border:none;padding:8px 12px;border-radius:6px">
|
||||||
</label>
|
Dodaj numer
|
||||||
<button class="btn" name="action" value="start">Start</button>
|
</button>
|
||||||
<button class="btn" name="action" value="reset">Reset</button>
|
|
||||||
|
<button class="btn" name="action" value="reset" style="background:#e53935;color:#fff;border:none;padding:8px 12px;border-radius:6px">
|
||||||
|
Reset — usuń wszystkie
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<div class="grid">
|
<div class="grid">
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue