Merge pull request #2 from mvkashyap/front-end

Front end
This commit is contained in:
Mehal Kashyap 2022-12-11 17:22:59 -05:00 committed by GitHub
commit 4d2162d26c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 13 additions and 4 deletions

View file

@ -325,6 +325,7 @@ class BillForm(FlaskForm):
what = StringField(_("What?"), validators=[DataRequired()]) what = StringField(_("What?"), validators=[DataRequired()])
payer = SelectField(_("Who paid?"), validators=[DataRequired()], coerce=int) payer = SelectField(_("Who paid?"), validators=[DataRequired()], coerce=int)
amount = CalculatorStringField(_("How much?"), validators=[DataRequired()]) amount = CalculatorStringField(_("How much?"), validators=[DataRequired()])
is_reimbursement = BooleanField("Reimbursement", default=False)
currency_helper = CurrencyConverter() currency_helper = CurrencyConverter()
original_currency = SelectField(_("Currency"), validators=[DataRequired()]) original_currency = SelectField(_("Currency"), validators=[DataRequired()])
external_link = URLField( external_link = URLField(
@ -344,6 +345,7 @@ class BillForm(FlaskForm):
amount=float(self.amount.data), amount=float(self.amount.data),
date=self.date.data, date=self.date.data,
external_link=self.external_link.data, external_link=self.external_link.data,
is_reimbursement=self.is_reimbursement.data,
original_currency=str(self.original_currency.data), original_currency=str(self.original_currency.data),
owers=Person.query.get_by_ids(self.payed_for.data, project), owers=Person.query.get_by_ids(self.payed_for.data, project),
payer_id=self.payer.data, payer_id=self.payer.data,

View file

@ -158,8 +158,9 @@ class Project(db.Model):
""" """
monthly = defaultdict(lambda: defaultdict(float)) monthly = defaultdict(lambda: defaultdict(float))
for bill in self.get_bills_unordered().all(): for bill in self.get_bills_unordered().all():
# if (bill.is_reimbursement == False): monthly[bill.date.year][bill.date.month] += bill.converted_amount
if (not bill.what.startswith("R-")): if (bill.is_reimbursement == False):
# if (not bill.what.startswith("R-")):
monthly[bill.date.year][bill.date.month] += bill.converted_amount monthly[bill.date.year][bill.date.month] += bill.converted_amount
return monthly return monthly

View file

@ -166,6 +166,7 @@
{{ input(form.date, inline=True) }} {{ input(form.date, inline=True) }}
{{ input(form.what, inline=True) }} {{ input(form.what, inline=True) }}
{{ input(form.payer, inline=True, class="form-control custom-select") }} {{ input(form.payer, inline=True, class="form-control custom-select") }}
{{ input(form.is_reimbursement, inline=True) }}
<div data-toggle="tooltip" data-placement="top" title='{{ _("Simple operations are allowed, e.g. (18+36.2)/3") }}'> <div data-toggle="tooltip" data-placement="top" title='{{ _("Simple operations are allowed, e.g. (18+36.2)/3") }}'>
{{ input(form.amount, inline=True) }} {{ input(form.amount, inline=True) }}
</div> </div>

View file

@ -16,6 +16,11 @@
<td>{{ bill.ower }}</td> <td>{{ bill.ower }}</td>
<td>{{ bill.receiver }}</td> <td>{{ bill.receiver }}</td>
<td>{{ bill.amount|currency }}</td> <td>{{ bill.amount|currency }}</td>
<!-- <td>
<a href="{{ url_for('.settle') }}" class="btn btn-primary " data-toggle="modal" data-keyboard="false" data-target="#bill-form">
Settle
</a>
</td> -->
</tr> </tr>
{% endfor %} {% endfor %}
</tbody> </tbody>

View file

@ -747,7 +747,7 @@ def add_bill():
return render_template("add_bill.html", form=form) return render_template("add_bill.html", form=form)
@main.route("/<project_id>/settle", methods=["GET", "POST"]) @main.route("/<project_id>/settle_bills/add", methods=["GET", "POST"])
def settle_paid(): def settle_paid():
form = get_billform_for(g.project) form = get_billform_for(g.project)
if request.method == "POST": if request.method == "POST":
@ -759,7 +759,7 @@ def settle_paid():
db.session.add(form.export(g.project)) db.session.add(form.export(g.project))
db.session.commit() db.session.commit()
flash(_("The bill has been settled")) flash(_("The bill has been added"))
args = {} args = {}
if form.submit2.data: if form.submit2.data: