diff options
| author | Alexis Metaireau <alexis@notmyidea.org> | 2011-08-10 19:47:06 +0200 |
|---|---|---|
| committer | Alexis Metaireau <alexis@notmyidea.org> | 2011-08-10 19:47:06 +0200 |
| commit | 065fe965a00b48706f2066bc32a84b0c29ff1962 (patch) | |
| tree | 82e08773336bda17ceed837d714787228dabc30b | |
| parent | 67350e7accfb0b8b0dd3b9b53bdc80b0fdbe2fd1 (diff) | |
| download | ihatemoney-mirror-065fe965a00b48706f2066bc32a84b0c29ff1962.zip ihatemoney-mirror-065fe965a00b48706f2066bc32a84b0c29ff1962.tar.gz ihatemoney-mirror-065fe965a00b48706f2066bc32a84b0c29ff1962.tar.bz2 | |
Add a set_default argument to the get_billform_for function.
| -rw-r--r-- | budget/utils.py | 14 | ||||
| -rw-r--r-- | budget/web.py | 3 |
2 files changed, 12 insertions, 5 deletions
diff --git a/budget/utils.py b/budget/utils.py index c4b1e75..77c4ad6 100644 --- a/budget/utils.py +++ b/budget/utils.py @@ -4,11 +4,19 @@ from flask import redirect, url_for, session, request from models import Bill, Project from forms import BillForm -def get_billform_for(project): - """Return an instance of BillForm configured for a particular project.""" +def get_billform_for(project, set_default=True): + """Return an instance of BillForm configured for a particular project. + + :set_default: if set to True, on GET methods (usually when we want to + display the default form, it will call set_default on it. + + """ form = BillForm() form.payed_for.choices = form.payer.choices = [(str(m.id), m.name) for m in project.active_members] - form.payed_for.default = [ str(m.id) for m in project.active_members] + form.payed_for.default = [str(m.id) for m in project.active_members] + + if set_default and request.method == "GET": + form.set_default() return form def requires_auth(f): diff --git a/budget/web.py b/budget/web.py index 9240e9c..e952109 100644 --- a/budget/web.py +++ b/budget/web.py @@ -173,7 +173,6 @@ def add_bill(project): flash("The bill has been added") return redirect(url_for('list_bills', project_id=project.id)) - form.set_default() return render_template("add_bill.html", form=form, project=project) @@ -192,7 +191,7 @@ def delete_bill(project, bill_id): @requires_auth def edit_bill(project, bill_id): bill = Bill.query.get_or_404(bill_id) - form = get_billform_for(project) + form = get_billform_for(project, set_default=False) if request.method == 'POST' and form.validate(): form.save(bill) db.session.commit() |
