From afc93531809913660c3e08b661bc3b1e4b3ddd2d Mon Sep 17 00:00:00 2001 From: Leo Mouyna Date: Sat, 28 Sep 2019 14:16:42 +0200 Subject: feat: Optional field 'external link' in bill form. An optional field has been added to the bill form to add a link to a real bill. A new action button allow user to see this bill. Breaking change with Bill model update for database, a migration is needed. See issue #429. --- ihatemoney/forms.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'ihatemoney/forms.py') diff --git a/ihatemoney/forms.py b/ihatemoney/forms.py index cce36e3..a4c80c1 100644 --- a/ihatemoney/forms.py +++ b/ihatemoney/forms.py @@ -1,8 +1,8 @@ from flask_wtf.form import FlaskForm from wtforms.fields.core import SelectField, SelectMultipleField -from wtforms.fields.html5 import DateField, DecimalField +from wtforms.fields.html5 import DateField, DecimalField, URLField from wtforms.fields.simple import PasswordField, SubmitField, TextAreaField, StringField -from wtforms.validators import Email, DataRequired, ValidationError, EqualTo, NumberRange +from wtforms.validators import Email, DataRequired, ValidationError, EqualTo, NumberRange, Optional from flask_babel import lazy_gettext as _ from flask import request from werkzeug.security import generate_password_hash @@ -146,6 +146,8 @@ class BillForm(FlaskForm): what = StringField(_("What?"), validators=[DataRequired()]) payer = SelectField(_("Payer"), validators=[DataRequired()], coerce=int) amount = CalculatorStringField(_("Amount paid"), validators=[DataRequired()]) + external_link = URLField(_("External link"), validators=[Optional( + )], description="A link to an external document, related to this bill") payed_for = SelectMultipleField(_("For whom?"), validators=[DataRequired()], coerce=int) submit = SubmitField(_("Submit")) @@ -155,6 +157,7 @@ class BillForm(FlaskForm): bill.payer_id = self.payer.data bill.amount = self.amount.data bill.what = self.what.data + bill.external_link = self.external_link.data bill.date = self.date.data bill.owers = [Person.query.get(ower, project) for ower in self.payed_for.data] @@ -165,6 +168,7 @@ class BillForm(FlaskForm): self.payer.data = bill.payer_id self.amount.data = bill.amount self.what.data = bill.what + self.external_link.data = bill.external_link self.date.data = bill.date self.payed_for.data = [int(ower.id) for ower in bill.owers] -- cgit v1.1 From e453c917ed630614cbc6ed1400833b344548a504 Mon Sep 17 00:00:00 2001 From: Leo Mouyna Date: Tue, 1 Oct 2019 21:38:50 +0200 Subject: Add new translations --- ihatemoney/forms.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'ihatemoney/forms.py') diff --git a/ihatemoney/forms.py b/ihatemoney/forms.py index a4c80c1..1e0ba00 100644 --- a/ihatemoney/forms.py +++ b/ihatemoney/forms.py @@ -147,7 +147,7 @@ class BillForm(FlaskForm): payer = SelectField(_("Payer"), validators=[DataRequired()], coerce=int) amount = CalculatorStringField(_("Amount paid"), validators=[DataRequired()]) external_link = URLField(_("External link"), validators=[Optional( - )], description="A link to an external document, related to this bill") + )], description=_("A link to an external document, related to this bill")) payed_for = SelectMultipleField(_("For whom?"), validators=[DataRequired()], coerce=int) submit = SubmitField(_("Submit")) -- cgit v1.1