From a3b49a231fac1341493960daecfdfe67901d4750 Mon Sep 17 00:00:00 2001 From: Alexis Metaireau Date: Sat, 23 Jul 2011 20:36:13 +0200 Subject: Manage users creation --- budget/web.py | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'budget/web.py') diff --git a/budget/web.py b/budget/web.py index d49280c..ddf0b1e 100644 --- a/budget/web.py +++ b/budget/web.py @@ -2,7 +2,7 @@ from flask import Flask, session, request, redirect, url_for, render_template # local modules from models import db, Project, Person, Bill -from forms import CreationForm, AuthenticationForm, BillForm +from forms import CreationForm, AuthenticationForm, BillForm, MemberForm from utils import get_billform_for, requires_auth # create the application, initialize stuff @@ -26,7 +26,6 @@ def authenticate(project_id, redirect_url=None): else: session[project_id] = form.password.data session.update() - from ipdb import set_trace; set_trace() return redirect(redirect_url) return render_template("authenticate.html", form=form, project=project) @@ -38,7 +37,6 @@ def home(): @app.route("/create", methods=["GET", "POST"]) def create_project(): - from ipdb import set_trace; set_trace() form = CreationForm() if request.method == "GET" and 'project_id' in request.values: form.name.data = request.values['project_id'] @@ -71,7 +69,19 @@ def list_bills(project): # FIXME filter to only get the bills for this particular project bills = Bill.query.order_by(Bill.id.asc()) return render_template("list_bills.html", - bills=bills, project=project) + bills=bills, project=project, member_form=MemberForm(project)) + +@app.route("//members/add", methods=["GET", "POST"]) +@requires_auth +def add_member(project): + # FIXME manage form errors on the list_bills page + form = MemberForm(project) + if request.method == "POST": + if form.validate(): + db.session.add(Person(name=form.name.data, project=project)) + db.session.commit() + return redirect(url_for("list_bills", project_id=project.id)) + return render_template("add_member.html", form=form, project=project) @app.route("//add", methods=["GET", "POST"]) @requires_auth -- cgit v1.1