From 3bcc9afb5027372fec06fcaae65cff3f20bc4d1a Mon Sep 17 00:00:00 2001 From: Jojo144 Date: Thu, 7 Sep 2023 22:30:28 +0200 Subject: [PATCH] [Fix] Remember the last selected payer for each project (and not only for one) --- ihatemoney/web.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/ihatemoney/web.py b/ihatemoney/web.py index d9aa2bbd..e59182e1 100644 --- a/ihatemoney/web.py +++ b/ihatemoney/web.py @@ -646,8 +646,11 @@ def list_bills(): # Used for CSRF validation csrf_form = EmptyForm() # set the last selected payer as default choice if exists - if "last_selected_payer" in session: - bill_form.payer.data = session["last_selected_payer"] + if ( + "last_selected_payer_per_project" in session + and g.project.id in session["last_selected_payer_per_project"] + ): + bill_form.payer.data = session["last_selected_payer_per_project"][g.project.id] # Each item will be a (weight_sum, Bill) tuple. # TODO: improve this awkward result using column_property: @@ -752,7 +755,9 @@ def add_bill(): if request.method == "POST": if form.validate(): # save last selected payer in session - session["last_selected_payer"] = form.payer.data + if "last_selected_payer_per_project" not in session: + session["last_selected_payer_per_project"] = {} + session["last_selected_payer_per_project"][g.project.id] = form.payer.data session.update() db.session.add(form.export(g.project))