mirror of
https://github.com/spiral-project/ihatemoney.git
synced 2025-05-06 13:01:50 +02:00
updated models.py, web.py, main.css for undo bill delete
This commit is contained in:
parent
91ef80ebb7
commit
e1632af0b5
3 changed files with 33 additions and 2 deletions
|
@ -391,6 +391,14 @@ class Bill(db.Model):
|
|||
"external_link": self.external_link,
|
||||
}
|
||||
|
||||
def to_json(self):
|
||||
bill_dict = self._to_serialize
|
||||
owers_list = []
|
||||
for ower in bill_dict["owers"]:
|
||||
owers_list.append(ower.id)
|
||||
bill_dict["owers"] = owers_list
|
||||
return bill_dict
|
||||
|
||||
def pay_each(self):
|
||||
"""Compute what each share has to pay"""
|
||||
if self.owers:
|
||||
|
|
|
@ -429,7 +429,6 @@ tr.payer_line .balance-name {
|
|||
position: absolute;
|
||||
top: 4.5rem;
|
||||
width: 100%;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.light {
|
||||
|
|
|
@ -27,6 +27,7 @@ from flask import (
|
|||
url_for,
|
||||
send_file,
|
||||
send_from_directory,
|
||||
Markup,
|
||||
)
|
||||
from flask_babel import get_locale, gettext as _
|
||||
from flask_mail import Message
|
||||
|
@ -698,10 +699,33 @@ def delete_bill(bill_id):
|
|||
if not bill:
|
||||
return redirect(url_for(".list_bills"))
|
||||
|
||||
session["recently_deleted_bill"] = bill.to_json()
|
||||
db.session.delete(bill)
|
||||
db.session.commit()
|
||||
flash(_("The bill has been deleted"))
|
||||
|
||||
url = url_for(".undo_delete_bill")
|
||||
alert = (
|
||||
'The bill has been deleted <a class="alert-link" href="'
|
||||
+ url
|
||||
+ '" id="undo"> undo </a>'
|
||||
)
|
||||
flash(Markup(alert))
|
||||
|
||||
return redirect(url_for(".list_bills"))
|
||||
|
||||
@main.route("/<project_id>/undo")
|
||||
def undo_delete_bill():
|
||||
bill = Bill()
|
||||
form = get_billform_for(g.project)
|
||||
form.what = session["recently_deleted_bill"]["what"]
|
||||
form.amount = session["recently_deleted_bill"]["amount"]
|
||||
form.date = parse(session["recently_deleted_bill"]["date"])
|
||||
form.payer = session["recently_deleted_bill"]["payer_id"]
|
||||
form.payed_for = session["recently_deleted_bill"]["owers"]
|
||||
form.external_link = session["recently_deleted_bill"]["external_link"]
|
||||
|
||||
db.session.add(form.fake_form(bill, g.project))
|
||||
db.session.commit()
|
||||
return redirect(url_for(".list_bills"))
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue