Compare commits
No commits in common. "dc1057f2e4af80158134229a0e2e30e86ae0bdb6" and "9f147c9c98c0de80c808c92ffc896232f419ed7d" have entirely different histories.
dc1057f2e4
...
9f147c9c98
2 changed files with 50 additions and 59 deletions
31
main.py
31
main.py
|
@ -1,7 +1,8 @@
|
||||||
from flask import Flask, render_template, request, redirect, url_for, jsonify
|
from flask import Flask, render_template, request, redirect, url_for
|
||||||
import sqlite3
|
import sqlite3
|
||||||
|
|
||||||
# create table orders (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, remark TEXT, created_at datetime default current_timestamp, status text default "besteld");
|
# create table orders (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, remark TEXT, created_at dat
|
||||||
|
#etime default current_timestamp, status text default "besteld");
|
||||||
|
|
||||||
# c = conn.cursor()
|
# c = conn.cursor()
|
||||||
# Create table
|
# Create table
|
||||||
|
@ -17,13 +18,9 @@ def execute_query(query):
|
||||||
conn = sqlite3.connect('user.db')
|
conn = sqlite3.connect('user.db')
|
||||||
c = conn.cursor()
|
c = conn.cursor()
|
||||||
|
|
||||||
print(f"{query=}")
|
|
||||||
results = []
|
|
||||||
|
|
||||||
# Insert a row of data
|
# Insert a row of data
|
||||||
try:
|
try:
|
||||||
c.execute(query)
|
c.execute(query)
|
||||||
results = c.fetchall()
|
|
||||||
except:
|
except:
|
||||||
print("An sql execute error occured")
|
print("An sql execute error occured")
|
||||||
|
|
||||||
|
@ -33,24 +30,38 @@ def execute_query(query):
|
||||||
# We can also close the connection if we are done with it.
|
# We can also close the connection if we are done with it.
|
||||||
# Just be sure any changes have been committed or they will be lost.
|
# Just be sure any changes have been committed or they will be lost.
|
||||||
conn.close()
|
conn.close()
|
||||||
return results
|
|
||||||
|
|
||||||
|
|
||||||
|
def fetch_orders():
|
||||||
|
conn = sqlite3.connect('user.db')
|
||||||
|
c = conn.cursor()
|
||||||
|
|
||||||
|
c.execute(
|
||||||
|
"select name, remark, status, id from orders order by created_at")
|
||||||
|
rows = c.fetchall()
|
||||||
|
|
||||||
|
return [{
|
||||||
|
"name": row[0],
|
||||||
|
"remark": row[1],
|
||||||
|
"status": row[2],
|
||||||
|
"id": row[3]
|
||||||
|
} for row in rows]
|
||||||
|
|
||||||
|
|
||||||
pancake_statuses = ["besteld", "aan_het_bakken", "klaar"]
|
pancake_statuses = ["besteld", "aan_het_bakken", "klaar"]
|
||||||
|
|
||||||
|
|
||||||
@app.route("/")
|
@app.route("/")
|
||||||
def home():
|
def home():
|
||||||
return render_template("home.html")
|
return render_template("home.html", orders=fetch_orders())
|
||||||
|
|
||||||
|
|
||||||
@app.route("/execute", methods=["POST"])
|
@app.route("/execute", methods=["POST"])
|
||||||
def execute():
|
def execute():
|
||||||
content = request.json
|
content = request.json
|
||||||
print("Query : ", content)
|
print("Query : ", content)
|
||||||
response = execute_query(content["lecode"])
|
execute_query(content["lecode"])
|
||||||
return jsonify(response)
|
return redirect("/")
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
|
|
@ -11,71 +11,51 @@
|
||||||
<h1>Welkom bij de pannenkoekenwachtrij</h1>
|
<h1>Welkom bij de pannenkoekenwachtrij</h1>
|
||||||
|
|
||||||
<form id="addPersonForm">
|
<form id="addPersonForm">
|
||||||
<p>Naam van de volgende <input type="text" name="name" maxlength=30></p>
|
<p>Naam van de volgende <input type="text" name="name"></p>
|
||||||
<p>Specifieke opmerkingen <input type="text" name="remark" maxlength=50></p>
|
<p>Specifieke opmerkingen <input type="text" name="remark"></p>
|
||||||
<p><input type="submit" value="Persoon toevoegen" id="addPersonButton"></p>
|
<p><input type="submit" value="Persoon toevoegen" id="addPersonButton"></p>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<h2>Zie hieronder de lijst van personen die een pannenkoek willen</h2>
|
<h2>Zie hieronder de lijst van personen die een pannenkoek willen</h2>
|
||||||
<table id="orderTable">
|
<table>
|
||||||
|
{% for order in orders %}
|
||||||
|
<tr>
|
||||||
|
<td><button onclick="start_bakken({{order.id}})">Aan het bakken</button></td>
|
||||||
|
<td><button onclick="klaar({{order.id}})">Klaar</button></td>
|
||||||
|
<td><button onclick="dissmiss({{order.id}})">Dismiss</button></td>
|
||||||
|
<th>{{ order.name + order.remark + ": " }}</th>
|
||||||
|
<td>{{ "Huidige status: " + order.status }}</td>
|
||||||
|
</tr>
|
||||||
|
{% endfor %}
|
||||||
</table>
|
</table>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
|
<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
|
||||||
<script>
|
<script>
|
||||||
|
$(document).ready(function() {
|
||||||
|
$("#addPersonButton").click(function(event) {
|
||||||
|
event.preventDefault();
|
||||||
|
|
||||||
|
var form = $("#addPersonForm").serializeArray();
|
||||||
|
|
||||||
|
|
||||||
|
var name = form[0]["value"];
|
||||||
|
var remark = form[1]["value"];
|
||||||
|
|
||||||
function executeQuery(query, callback) {
|
|
||||||
$.ajax({
|
$.ajax({
|
||||||
type: "POST",
|
type: "POST",
|
||||||
url: '/execute',
|
url: '/execute',
|
||||||
contentType: "application/json",
|
contentType: "application/json",
|
||||||
data: JSON.stringify({
|
data: JSON.stringify({
|
||||||
"lecode": query
|
"lecode": `insert into orders (name, remark) values ("${name}", "${remark}")`
|
||||||
}),
|
}),
|
||||||
success: callback,
|
success: function(data) {
|
||||||
|
console.log("SUCCESS : ", data);
|
||||||
|
},
|
||||||
error: function(e) {
|
error: function(e) {
|
||||||
console.log("ERROR : ", e);
|
console.log("ERROR : ", e);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
|
||||||
|
|
||||||
function start_bakken(id) {
|
|
||||||
executeQuery(`UPDATE orders SET status = 'aan_het_bakken' where id=${id}`, function(ign) {
|
|
||||||
updateTable();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
function klaar(id) {
|
|
||||||
executeQuery(`UPDATE orders SET status = 'klaar' where id=${id}`, function(ign) {
|
|
||||||
updateTable();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
function dismiss(id) {
|
|
||||||
executeQuery(`UPDATE orders SET status = 'dismissed' where id=${id}`, function(ign) {
|
|
||||||
updateTable();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function updateTable() {
|
|
||||||
executeQuery(`SELECT id, name, remark, status from orders where status != 'dismissed'`, function(x) {
|
|
||||||
$('#orderTable').empty();
|
|
||||||
console.log(x);
|
|
||||||
for (row of x) {
|
|
||||||
console.log(row);
|
|
||||||
$('#orderTable').append(`<tr><td><button onclick="start_bakken(${row[0]})">Aan het bakken</button></td><td><button onclick="klaar(${row[0]})">Klaar</button></td><td><button onclick="dismiss(${row[0]})">Dismiss</button></td><th>${row[1] + " (" + row[2] + ")"}</th><td>${row[3]}</td></tr>`);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
$(document).ready(function() {
|
|
||||||
updateTable();
|
|
||||||
$("#addPersonButton").click(function(event) {
|
|
||||||
event.preventDefault();
|
|
||||||
var form = $("#addPersonForm").serializeArray();
|
|
||||||
var name = form[0]["value"];
|
|
||||||
var remark = form[1]["value"];
|
|
||||||
executeQuery(`INSERT INTO orders (name, remark) VALUES ('${name}', '${remark}')`, function(ign) {
|
|
||||||
updateTable();
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
Loading…
Reference in a new issue