diff --git a/app/qrwebform.py b/app/qrwebform.py index d7bebd6..0fb75fc 100755 --- a/app/qrwebform.py +++ b/app/qrwebform.py @@ -13,23 +13,20 @@ app.config['SECRET_KEY'] = os.urandom(40) class QRForm(FlaskForm): user_data = TextField("Dane:", validators=[DataRequired()]) - # setting default here doesn't work, so we cannot retain checkbox state over POST - # we force trim_spaced to be checked in the template - # see https://github.com/wtforms/flask-wtf/issues/489 https://github.com/wtforms/flask-wtf/issues/362 - # https://github.com/wtforms/flask-wtf/issues/464 - trim_spaces = BooleanField("Usuń spacje") + trim_spaces = BooleanField("Usuń spacje", default=True) submit = SubmitField("Generuj") @app.route("/", methods=["GET", "POST"]) def main(): - form = QRForm(request.form) if request.method == "POST": + form = QRForm(request.form) data = request.form["user_data"] - if "trim_spaces" in request.form and request.form["trim_spaces"] == "y": + if "trim_spaces" in request.form: data = data.replace(" ", "") else: - # not POST? get back to ourselves + # not POST? get back to ourselves, start with empty form + form = QRForm() data = request.url_root return render_template("main.html", form=form, data=data, genurl="/render/") diff --git a/app/templates/main.html b/app/templates/main.html index cf1cd00..2c2985f 100644 --- a/app/templates/main.html +++ b/app/templates/main.html @@ -15,7 +15,7 @@
{{ form.user_data }}
- {{ form.trim_spaces(checked=True) }} {{ form.trim_spaces.label }} + {{ form.trim_spaces }} {{ form.trim_spaces.label }} {{ form.submit }}