diff options
Diffstat (limited to 'app/forms.py')
-rw-r--r-- | app/forms.py | 59 |
1 files changed, 0 insertions, 59 deletions
diff --git a/app/forms.py b/app/forms.py deleted file mode 100644 index b7cbebf..0000000 --- a/app/forms.py +++ /dev/null @@ -1,59 +0,0 @@ -# -*- encoding: utf-8 -*- -import flask -from flask_wtf import FlaskForm -from wtforms.fields import BooleanField, StringField, HiddenField, PasswordField, DecimalField as WTFDecimalField, DateField as HTML4DateField -from wtforms.fields.html5 import DateField, IntegerField -from wtforms import validators, ValidationError, Form as WTForm - -from wtforms.ext.sqlalchemy.fields import QuerySelectField - -from . import app - -@app.template_test('hidden') -def is_hidden_field(f): - return isinstance(f, HiddenField) - -class DecimalField(WTFDecimalField): - def __init__(self, *args, **kwargs): - render_kw = kwargs.setdefault('render_kw', dict()) - render_kw.setdefault('inputmethod', 'decimal') - - super().__init__(*args, **kwargs) - - def process_formdata(self, valuelist): - if valuelist: - value = valuelist[0].replace(',','.') - super().process_formdata([value]) - -class MonthField(HTML4DateField): - def __init__(self, label, validators, format='%m.%Y', **kwargs): - super().__init__(label, validators, format, **kwargs) - -req = [validators.input_required()] - -class Form(FlaskForm): - class Meta: - locales = ['de_DE', 'de'] - - def __init__ (self, *args, **kwargs): - self._msg = kwargs.pop('flash', "Fehler im Formular!") - super().__init__(*args, **kwargs) - - def flash(self): - flask.flash(self._msg, 'error') - - def flash_validate (self): - if not self.validate(): - self.flash() - return False - - return True - - def validate_on_submit (self): - return self.is_submitted() and self.flash_validate() - - def _get_translations(self): - # use WTForms builtin translation support instead of the flask-babael - # stuff added by flask-wtf - # FIXME: remove this, if flask-babel is used in the app - return WTForm._get_translations(self) |