From 850cbfe46ed2ff23d60858489c2bce82dbb808b1 Mon Sep 17 00:00:00 2001 From: Sunpy Date: Fri, 26 Apr 2019 06:50:49 +0100 Subject: [PATCH] Add bills func --- forms/login.py | 9 ++++++++- routes.py | 19 +++++++++++++++--- templates/pages/bills.html | 40 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 64 insertions(+), 4 deletions(-) diff --git a/forms/login.py b/forms/login.py index 51c820c..a458a8b 100644 --- a/forms/login.py +++ b/forms/login.py @@ -1,8 +1,15 @@ -from wtforms import Form, BooleanField, StringField, PasswordField, validators +from wtforms import Form, BooleanField, IntegerField, DecimalField, StringField, DateField, PasswordField, validators from flask_login import UserMixin from objects import glob +class BillForm(Form): + payment_to = StringField("Payment to", [validators.DataRequired()]) + description = StringField("Description") + sum = DecimalField("Sum") + kid = IntegerField("KID") + date_due = DateField("Date Due (YYYY-MM-DD )") + class LoginForm(Form): email = StringField("Email", [ validators.DataRequired(), diff --git a/routes.py b/routes.py index fd47a85..bfb894d 100644 --- a/routes.py +++ b/routes.py @@ -2,7 +2,7 @@ from flask import render_template, url_for, request, redirect, flash, abort from wtforms import Form, BooleanField, StringField, PasswordField, validators import flask_login -from forms.login import LoginForm, RegisterForm, User, register_account +from forms.login import LoginForm, RegisterForm, BillForm, User, register_account from objects import glob # Global sharing of python objects in a manageable way @@ -19,12 +19,25 @@ logged_in_users = [] def dashboard(): return render_template("pages/dashboard.html") -@glob.app.route("/bills") +@glob.app.route("/bills", methods = ["GET", "POST"]) @flask_login.login_required def bills(): + form = BillForm(request.form) + conn = glob.make_sql_connection() cur = conn.cursor() + if request.method == "POST" and form.validate(): + cur.execute(""" + INSERT + INTO Regninger + VALUES (NULL, %s, %s, %s, %s, %s, 0, 1, %s) + """, (form.payment_to.data, form.description.data, form.kid.data, form.sum.data, form.date_due.data, flask_login.current_user.id)) + + conn.commit() + + return redirect(url_for("bills")) + cur.execute(""" SELECT Betaletil, Regningfor, Regningsum, KID, Betalingsfrist, Betalt FROM Regninger @@ -37,7 +50,7 @@ def bills(): cur.close() conn.close() - return render_template("pages/bills.html", data=data) + return render_template("pages/bills.html", data=data, form=form) @glob.app.route("/warranties") @flask_login.login_required diff --git a/templates/pages/bills.html b/templates/pages/bills.html index a20b207..ff59d81 100644 --- a/templates/pages/bills.html +++ b/templates/pages/bills.html @@ -6,6 +6,46 @@
+ + +