diff options
Diffstat (limited to 'budget/web.py')
| -rw-r--r-- | budget/web.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/budget/web.py b/budget/web.py index 77de026..63fbe4d 100644 --- a/budget/web.py +++ b/budget/web.py @@ -322,6 +322,24 @@ def remove_member(member_id): return redirect(url_for(".list_bills")) +@main.route("/<project_id>/members/<member_id>/edit", + methods=["POST", "GET"]) +def edit_member(member_id): + member = Person.query.get(member_id, g.project) + if not member: + raise werkzeug.exceptions.NotFound() + form = MemberForm(g.project, edit=True) + + if request.method == 'POST' and form.validate(): + form.save(g.project, member) + db.session.commit() + flash(_("User '%(name)s' has been edited", name=member.name)) + return redirect(url_for(".list_bills")) + + form.fill(member) + return render_template("edit_member.html", form=form, edit=True) + + @main.route("/<project_id>/add", methods=["GET", "POST"]) def add_bill(): form = get_billform_for(g.project) |
