summaryrefslogtreecommitdiff
path: root/app/forms.py
diff options
context:
space:
mode:
authorRené 'Necoro' Neumann <necoro@necoro.net>2013-10-15 23:23:19 +0200
committerRené 'Necoro' Neumann <necoro@necoro.net>2013-10-15 23:23:19 +0200
commite34e288bc5713a5a34958be8e678d2b23f4c7adb (patch)
tree2a5ebcdbb5570a03a091441733dc07f8b5f5dbfe /app/forms.py
parent6277cf7e9bb1ee6e56258de3474477b90a1a51f9 (diff)
downloadkosten-e34e288bc5713a5a34958be8e678d2b23f4c7adb.tar.gz
kosten-e34e288bc5713a5a34958be8e678d2b23f4c7adb.tar.bz2
kosten-e34e288bc5713a5a34958be8e678d2b23f4c7adb.zip
Flash on error in all forms
Diffstat (limited to 'app/forms.py')
-rw-r--r--app/forms.py22
1 files changed, 20 insertions, 2 deletions
diff --git a/app/forms.py b/app/forms.py
index 3bba70e..664b709 100644
--- a/app/forms.py
+++ b/app/forms.py
@@ -1,6 +1,6 @@
# -*- encoding: utf-8 -*-
-
-from flask.ext.wtf import Form
+import flask
+from flask.ext.wtf import Form as _Form
from wtforms.fields import DateField, IntegerField, StringField, HiddenField, PasswordField
from wtforms import validators as v
from wtforms import fields
@@ -26,6 +26,24 @@ class DecimalField(fields.DecimalField):
req = [v.input_required()]
+class Form(_Form):
+ def __init__ (self, *args, **kwargs):
+ self._msg = kwargs.pop("flash", u"Fehler im Formular!")
+ _Form.__init__(self, *args, **kwargs)
+
+ def flash(self):
+ flask.flash(self._msg, u"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()
+
class ExpenseForm(Form):
date = DateField(u"Datum", req,
format="%d.%m.%Y",