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,
|
"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):
|
def pay_each(self):
|
||||||
"""Compute what each share has to pay"""
|
"""Compute what each share has to pay"""
|
||||||
if self.owers:
|
if self.owers:
|
||||||
|
|
|
@ -429,7 +429,6 @@ tr.payer_line .balance-name {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 4.5rem;
|
top: 4.5rem;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
pointer-events: none;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.light {
|
.light {
|
||||||
|
|
|
@ -27,6 +27,7 @@ from flask import (
|
||||||
url_for,
|
url_for,
|
||||||
send_file,
|
send_file,
|
||||||
send_from_directory,
|
send_from_directory,
|
||||||
|
Markup,
|
||||||
)
|
)
|
||||||
from flask_babel import get_locale, gettext as _
|
from flask_babel import get_locale, gettext as _
|
||||||
from flask_mail import Message
|
from flask_mail import Message
|
||||||
|
@ -698,10 +699,33 @@ def delete_bill(bill_id):
|
||||||
if not bill:
|
if not bill:
|
||||||
return redirect(url_for(".list_bills"))
|
return redirect(url_for(".list_bills"))
|
||||||
|
|
||||||
|
session["recently_deleted_bill"] = bill.to_json()
|
||||||
db.session.delete(bill)
|
db.session.delete(bill)
|
||||||
db.session.commit()
|
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"))
|
return redirect(url_for(".list_bills"))
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue