pannenkoekenwachtrij/main.py

70 lines
1.7 KiB
Python

from flask import Flask, render_template, request, redirect, url_for
app = Flask(__name__)
class Person:
statusses = ["Pannenkoek besteld", "Pannenkoek aan het bakken", "Pannenkoek klaar", "Pannenkoek afgegeven"]
def __init__(self, name, remark=""):
self.name = name
self.remark = remark.strip()
self.status = 0
def getRemark(self):
return "({})".format(self.remark) if self.remark else self.remark
def getName(self):
return self.name
def __eq__(self, other):
return self.name.lower() == other.name.lower()
def getStatus(self):
return self.statusses[self.status]
def nextStatus(self):
return self.statusses[self.status + 1]
def __str__(self):
return "Persoon: {} met status: {}".format(self.name, self.status)
def __repr__(self):
return str(self)
people = []
@app.route("/")
def home():
return render_template("home.html", people=people)
@app.route("/statusUpdate", methods=["POST", "GET"])
def statusUpdate():
if people and request.method == "POST":
newPerson = Person(request.form["name"])
if newPerson in people:
index = people.index(newPerson)
print(index)
people[index].status += 1
if people[index].status == 3:
people.remove(people[index])
return redirect("/")
@app.route("/addPerson", methods=["POST", "GET"])
def addPerson():
if request.method == "POST":
result = request.form
if result["name"]:
newPerson = Person(result["name"], result["remark"])
if newPerson not in people:
people.append(newPerson)
return redirect("/")
if __name__ == "__main__":
app.run()