This commit is contained in:
rosechar 2020-04-12 23:29:59 -04:00
parent 4f1cf71256
commit 73748255b0
12 changed files with 88 additions and 13 deletions

BIN
.DS_Store vendored Normal file

Binary file not shown.

2
.idea/.gitignore vendored Normal file
View file

@ -0,0 +1,2 @@
# Default ignored files
/workspace.xml

12
.idea/ihatemoney.iml Normal file
View file

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="PYTHON_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
<component name="PyDocumentationSettings">
<option name="format" value="PLAIN" />
<option name="myDocStringFormat" value="Plain" />
</component>
</module>

View file

@ -0,0 +1,6 @@
<component name="InspectionProjectProfileManager">
<settings>
<option name="USE_PROJECT_PROFILE" value="false" />
<version value="1.0" />
</settings>
</component>

7
.idea/misc.xml Normal file
View file

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.8" project-jdk-type="Python SDK" />
<component name="PyCharmProfessionalAdvertiser">
<option name="shown" value="true" />
</component>
</project>

8
.idea/modules.xml Normal file
View file

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/ihatemoney.iml" filepath="$PROJECT_DIR$/.idea/ihatemoney.iml" />
</modules>
</component>
</project>

6
.idea/vcs.xml Normal file
View file

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

View file

@ -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:

View file

@ -270,6 +270,7 @@ footer .footer-left {
#new-bill {
margin-top: 30px;
z-index:100;
}
#previous-page {
@ -422,7 +423,6 @@ tr.payer_line .balance-name {
position: absolute;
top: 4.5rem;
width: 100%;
pointer-events: none;
}
.light {

View file

@ -126,7 +126,7 @@
<div class="messages">
{% for message in get_flashed_messages() %}
<div class="flash alert alert-success">{{ message }}</div>
<div style="z-index:2;" class="alert alert-success">{{ message }}</div>
{% endfor %}
</div>

View file

@ -17,6 +17,10 @@
});
});
$('.undo').click(function(){
console.log("HI");
});
var highlight_owers = function(){
var ower_ids = $(this).attr("owers").split(',');
var payer_id = $(this).attr("payer");

View file

@ -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
@ -691,6 +692,22 @@ def add_bill():
return render_template("add_bill.html", form=form)
@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"))
@main.route("/<project_id>/delete/<int:bill_id>")
def delete_bill(bill_id):
# fixme: everyone is able to delete a bill
@ -700,7 +717,12 @@ def delete_bill(bill_id):
db.session.delete(bill)
db.session.commit()
flash(_("The bill has been deleted"))
session["test"] = bill.to_json()
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"))