fix: money can now be entered in decimal

This commit is contained in:
Lunaresk 2024-08-18 18:39:56 +02:00
parent 14b7e1f84c
commit 0f6f76a66b
4 changed files with 8 additions and 6 deletions

3
.gitignore vendored
View File

@ -354,4 +354,5 @@ tests*
*.pdf *.pdf
*.backup *.backup
Dockerfile.* Dockerfile.*
docker-compose.* docker-compose.*
*debug.py

View File

@ -1,12 +1,12 @@
from models import LoginToken from models import LoginToken
from flask_wtf import FlaskForm from flask_wtf import FlaskForm
from wtforms import DateField, FloatField, IntegerField, SelectField, SelectMultipleField, StringField, SubmitField from wtforms import DateField, DecimalField, SelectField, SubmitField
from wtforms.validators import DataRequired, Optional from wtforms.validators import DataRequired
class NewPaymentForm(FlaskForm): class NewPaymentForm(FlaskForm):
token = SelectField("User", validators=[DataRequired()], render_kw={"class": "form-control"}) token = SelectField("User", validators=[DataRequired()], render_kw={"class": "form-control"})
date = DateField("Date", validators=[DataRequired()], render_kw={"class": "form-control"}) date = DateField("Date", validators=[DataRequired()], render_kw={"class": "form-control"})
amount = IntegerField("Amount (in ct)", validators=[DataRequired()], render_kw={"class": "form-control"}) amount = DecimalField("Amount (€)", validators=[DataRequired()], render_kw={"class": "form-control"})
submit = SubmitField("Submit", render_kw={"class": "btn btn-primary mt-3"}) submit = SubmitField("Submit", render_kw={"class": "btn btn-primary mt-3"})
@classmethod @classmethod

View File

@ -17,7 +17,7 @@ def insert_payment(establishment_id: int):
if form.validate_on_submit(): if form.validate_on_submit():
new_payment = Payment(token = form.token.data, new_payment = Payment(token = form.token.data,
date = form.date.data, date = form.date.data,
amount = form.amount.data) amount = int(form.amount.data*100))
db.session.add(new_payment) db.session.add(new_payment)
db.session.commit() db.session.commit()
return redirect(url_for("main.index")) return redirect(url_for("main.index"))

View File

@ -1,4 +1,5 @@
from datetime import date from datetime import date
from decimal import Decimal
from models import AmountChange, Item, PriceChange, Receipt, ReceiptItem from models import AmountChange, Item, PriceChange, Receipt, ReceiptItem
from src import db, LOGGER from src import db, LOGGER
@ -35,7 +36,7 @@ def insert_existing_item(formitemdict: dict[str: str], receipt_date: date = None
db.session.commit() db.session.commit()
def insert_item_to_receipt(receipt: Receipt, item_dict: dict[str: str], item_index:int=0): def insert_item_to_receipt(receipt: Receipt, item_dict: dict[str: str], item_index:int=0):
receipt.ReceiptItem.append(ReceiptItem(item=item_index, name=item_dict.get('itemname'), amount=item_dict.get('amount'), price=int(str(item_dict.get('price')).replace(',','').replace('.', '')))) receipt.ReceiptItem.append(ReceiptItem(item=item_index, name=item_dict.get('itemname'), amount=item_dict.get('amount'), price=int(item_dict.get('price')*100)))
db.session.add(receipt) db.session.add(receipt)
db.session.commit() db.session.commit()