Support WTForms 3 (#916)

* Support WTForms 3

* default value to None for WTForm backward compatibility

* switch back to empty string as default

WTForm backward compatibility needs that

* format
This commit is contained in:
Glandos 2022-01-23 19:43:32 +01:00 committed by GitHub
parent 023ec71536
commit 40ce32d9fa
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 20 additions and 5 deletions

View file

@ -3,7 +3,7 @@ from functools import wraps
from flask import current_app, request
from flask_restful import Resource, abort
from werkzeug.security import check_password_hash
from wtforms.fields.core import BooleanField
from wtforms.fields import BooleanField
from ihatemoney.currency_convertor import CurrencyConverter
from ihatemoney.emails import send_creation_email

View file

@ -9,9 +9,23 @@ from flask_wtf.file import FileAllowed, FileField, FileRequired
from flask_wtf.form import FlaskForm
from markupsafe import Markup
from werkzeug.security import check_password_hash, generate_password_hash
from wtforms.fields.core import Label, SelectField, SelectMultipleField
from wtforms.fields.html5 import DateField, DecimalField, URLField
from wtforms.fields.simple import BooleanField, PasswordField, StringField, SubmitField
from wtforms.fields import (
BooleanField,
DateField,
DecimalField,
Label,
PasswordField,
SelectField,
SelectMultipleField,
StringField,
SubmitField,
)
try:
# Compat for WTForms <= 2.3.3
from wtforms.fields.html5 import URLField
except ModuleNotFoundError:
from wtforms.fields import URLField
from wtforms.validators import (
URL,
DataRequired,
@ -312,6 +326,7 @@ class BillForm(FlaskForm):
original_currency = SelectField(_("Currency"), validators=[DataRequired()])
external_link = URLField(
_("External link"),
default="",
validators=[Optional(), URL()],
description=_("A link to an external document, related to this bill"),
)

View file

@ -35,7 +35,7 @@ install_requires =
Flask-SQLAlchemy>=2.4,<3
Flask-Talisman>=0.8,<1
Flask-WTF>=0.14.3,<2
WTForms>=2.3.1,<2.4
WTForms>=2.3.1,<3.1
Flask>=2,<3
itsdangerous>=2,<3
Jinja2>=3,<4