From 17ac923320afc0851862778ad492062b14b532ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20=27Necoro=27=20Neumann?= Date: Sun, 14 Apr 2013 19:43:41 +0200 Subject: Edit expense --- app/views/expenses.py | 36 +++++++++++++++++++++++++++++------- templates/pages/edit.jinja | 10 ++++++++++ templates/pages/edit.mako | 10 ---------- 3 files changed, 39 insertions(+), 17 deletions(-) create mode 100644 templates/pages/edit.jinja delete mode 100644 templates/pages/edit.mako diff --git a/app/views/expenses.py b/app/views/expenses.py index da01308..312d0c2 100644 --- a/app/views/expenses.py +++ b/app/views/expenses.py @@ -10,6 +10,11 @@ from ..forms import ExpenseForm mod = Blueprint('expenses', __name__) +def expense_form(obj=None): + form = ExpenseForm(obj=obj) + form.category.query = Category.query.order_by("name") + return form + def is_last(exp): return exp.date >= datetime.date.today().replace(day = 1) @@ -69,21 +74,38 @@ def show(year = None, month = None): return render_show([first, second], is_last(first)) -@mod.route("/edit/") +@mod.route("/edit/", methods=("GET", "POST")) def edit(id): - return render_template("page.jinja") + exp = SingleExpense.get(id) + form = expense_form(exp) + + ret = lambda: render_template("pages/edit.jinja", form=form) + + if request.method == "POST": + if "deleteB" in request.form: + db.session.delete(exp) + + elif form.validate(): # change + form.populate_obj(exp) + + else: + return ret() + + db.session.commit() + return redirect(url_for("index")) + + return ret() @mod.route("/add/", methods=("GET", "POST")) def add(): - form = ExpenseForm() - form.category.query = Category.query.order_by("name") + form = expense_form() if form.validate_on_submit(): - se = SingleExpense() + exp = SingleExpense() - form.populate_obj(se) + form.populate_obj(exp) - db.session.add(se) + db.session.add(exp) db.session.commit() return redirect(url_for("index")) diff --git a/templates/pages/edit.jinja b/templates/pages/edit.jinja new file mode 100644 index 0000000..c1f4d5b --- /dev/null +++ b/templates/pages/edit.jinja @@ -0,0 +1,10 @@ +{% extends "pages/add.jinja" %} + +{% block heading %} + Bearbeite Kosteneintrag +{% endblock %} + +{% block form_buttons %} + + +{% endblock %} diff --git a/templates/pages/edit.mako b/templates/pages/edit.mako deleted file mode 100644 index 1343136..0000000 --- a/templates/pages/edit.mako +++ /dev/null @@ -1,10 +0,0 @@ -<%inherit file="add.mako" /> - -<%block name="heading"> - Bearbeite Kosteneintrag - - -<%block name="form_buttons"> - - - -- cgit v1.2.3