From 536a2e08dc2fd65e3392587b665756a14fce4b09 Mon Sep 17 00:00:00 2001 From: MelodyZhangYiqun Date: Mon, 12 Dec 2022 19:04:48 -0500 Subject: [PATCH 1/3] button added --- ihatemoney/api/v1/resources.py | 3 +++ ihatemoney/models.py | 2 +- ihatemoney/templates/settle_bills.html | 9 ++++++++- ihatemoney/tests/import_test.py | 10 +++++----- ihatemoney/web.py | 27 ++++++++++++++++++++++++++ 5 files changed, 44 insertions(+), 7 deletions(-) diff --git a/ihatemoney/api/v1/resources.py b/ihatemoney/api/v1/resources.py index 6c46e4f9..d824ff85 100644 --- a/ihatemoney/api/v1/resources.py +++ b/ihatemoney/api/v1/resources.py @@ -33,3 +33,6 @@ restful_api.add_resource(BillsHandler, "/projects//bills") restful_api.add_resource( BillHandler, "/projects//bills/" ) +# restful_api.add_resource( +# ProjectHandler, "//settle///" +# ) diff --git a/ihatemoney/models.py b/ihatemoney/models.py index 60aee65d..76869ab8 100644 --- a/ihatemoney/models.py +++ b/ihatemoney/models.py @@ -76,7 +76,7 @@ class Project(db.Model): default_currency = db.Column(db.String(3)) bill_types = [ ("Expense", "Expense"), - ("Reimbursment", "Reimbursment"), + ("Reimbursement", "Reimbursement"), ("Transfer", "Transfer"), ] diff --git a/ihatemoney/templates/settle_bills.html b/ihatemoney/templates/settle_bills.html index 601156c6..d23f9c06 100644 --- a/ihatemoney/templates/settle_bills.html +++ b/ihatemoney/templates/settle_bills.html @@ -9,13 +9,20 @@ {% block content %} - + {% for bill in bills %} + {% endfor %} diff --git a/ihatemoney/tests/import_test.py b/ihatemoney/tests/import_test.py index be2b2d81..fbf0fa77 100644 --- a/ihatemoney/tests/import_test.py +++ b/ihatemoney/tests/import_test.py @@ -301,7 +301,7 @@ class CommonTestCase(object): { "date": "2017-01-01", "what": "refund", - "bill_type": "Refund", + "bill_type": "Reimbursement", "payer_name": "tata", "payer_weight": 1.0, "owers": ["fred"], @@ -353,7 +353,7 @@ class ExportTestCase(IhatemoneyTestCase): "/raclette/add", data={ "date": "2017-01-01", - "bill_type": "Refund", + "bill_type": "Reimbursement", "what": "refund", "payer": 3, "payed_for": [2], @@ -366,7 +366,7 @@ class ExportTestCase(IhatemoneyTestCase): expected = [ { "date": "2017-01-01", - "bill_type": "Refund", + "bill_type": "Reimbursement", "what": "refund", "amount": 13.33, "currency": "XXX", @@ -493,7 +493,7 @@ class ExportTestCase(IhatemoneyTestCase): data={ "date": "2017-01-01", "what": "refund", - "bill_type": "Refund", + "bill_type": "Reimbursement", "payer": 3, "payed_for": [2], "amount": "13.33", @@ -507,7 +507,7 @@ class ExportTestCase(IhatemoneyTestCase): { "date": "2017-01-01", "what": "refund", - "bill_type": "Refund", + "bill_type": "Reimbursement", "amount": 13.33, "currency": "EUR", "payer_name": "tata", diff --git a/ihatemoney/web.py b/ihatemoney/web.py index f5cd01d5..4ea65e15 100644 --- a/ihatemoney/web.py +++ b/ihatemoney/web.py @@ -12,6 +12,7 @@ from functools import wraps import json import os from urllib.parse import urlparse, urlunparse +import datetime from flask import ( Blueprint, @@ -809,6 +810,32 @@ def settle_bill(): bills = g.project.get_transactions_to_settle_bill() return render_template("settle_bills.html", bills=bills, current_view="settle_bill") +@main.route("//settle///") +def settle(amount,ower_id,payer_id): + # FIXME: Test this bill belongs to this project ! + # form = get_billform_for(g.project, set_default=False) + # form.bill_type = ("Refund", "Refund") + # form.amount = amount + # form.payer = ower + # form.payedfor = payer + + new_reinbursement = Bill( + amount=float(amount), + date=datetime.datetime.today(), + owers=[Person.query.get(payer_id)], + payer_id=ower_id, + project_default_currency=g.project.default_currency, + bill_type= "Reimbursement", + what="settlement" + ) + session.update() + + db.session.add(new_reinbursement) + db.session.commit() + + # db.session.add(form.export(g.project)) + # db.session.commit() + return redirect(url_for(".settle_bill")) @main.route("//history") def history(): From 7ea7447db37818482c2b1144381c8c59a69072e0 Mon Sep 17 00:00:00 2001 From: MelodyZhangYiqun Date: Mon, 12 Dec 2022 19:11:39 -0500 Subject: [PATCH 2/3] settle button added --- ihatemoney/web.py | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/ihatemoney/web.py b/ihatemoney/web.py index 4ea65e15..e2db7ce5 100644 --- a/ihatemoney/web.py +++ b/ihatemoney/web.py @@ -8,11 +8,11 @@ Basically, this blueprint takes care of the authentication and provides some shortcuts to make your life better when coding (see `pull_project` and `add_project_id` for a quick overview) """ +import datetime from functools import wraps import json import os from urllib.parse import urlparse, urlunparse -import datetime from flask import ( Blueprint, @@ -810,8 +810,9 @@ def settle_bill(): bills = g.project.get_transactions_to_settle_bill() return render_template("settle_bills.html", bills=bills, current_view="settle_bill") + @main.route("//settle///") -def settle(amount,ower_id,payer_id): +def settle(amount, ower_id, payer_id): # FIXME: Test this bill belongs to this project ! # form = get_billform_for(g.project, set_default=False) # form.bill_type = ("Refund", "Refund") @@ -820,14 +821,14 @@ def settle(amount,ower_id,payer_id): # form.payedfor = payer new_reinbursement = Bill( - amount=float(amount), - date=datetime.datetime.today(), - owers=[Person.query.get(payer_id)], - payer_id=ower_id, - project_default_currency=g.project.default_currency, - bill_type= "Reimbursement", - what="settlement" - ) + amount=float(amount), + date=datetime.datetime.today(), + owers=[Person.query.get(payer_id)], + payer_id=ower_id, + project_default_currency=g.project.default_currency, + bill_type="Reimbursement", + what="settlement", + ) session.update() db.session.add(new_reinbursement) @@ -837,6 +838,7 @@ def settle(amount,ower_id,payer_id): # db.session.commit() return redirect(url_for(".settle_bill")) + @main.route("//history") def history(): """Query for the version entries associated with this project.""" From bc6a1a9bba74e6126475641e3345c1fdaff47613 Mon Sep 17 00:00:00 2001 From: MelodyZhangYiqun Date: Mon, 12 Dec 2022 19:22:30 -0500 Subject: [PATCH 3/3] new changes --- ihatemoney/web.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ihatemoney/web.py b/ihatemoney/web.py index e2db7ce5..1b70cb1b 100644 --- a/ihatemoney/web.py +++ b/ihatemoney/web.py @@ -827,7 +827,7 @@ def settle(amount, ower_id, payer_id): payer_id=ower_id, project_default_currency=g.project.default_currency, bill_type="Reimbursement", - what="settlement", + what="settlement" ) session.update()
{{ _("Who pays?") }}{{ _("To whom?") }}{{ _("How much?") }}
{{ _("Who pays?") }}{{ _("To whom?") }}{{ _("How much?") }}{{ _("Settled?") }}
{{ bill.ower }} {{ bill.receiver }} {{ bill.amount|currency }} + + + {{ ("Settle") }} + + +