summaryrefslogtreecommitdiff
path: root/app/forms.py
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--app/forms.py23
1 files changed, 22 insertions, 1 deletions
diff --git a/app/forms.py b/app/forms.py
index 8fbd4fb..182f6de 100644
--- a/app/forms.py
+++ b/app/forms.py
@@ -1,7 +1,7 @@
# -*- encoding: utf-8 -*-
from flask.ext.wtf import Form
-from wtforms.fields import DateField, IntegerField, StringField, HiddenField
+from wtforms.fields import DateField, IntegerField, StringField, HiddenField, PasswordField
from wtforms import validators as v
from wtforms import fields
@@ -10,6 +10,7 @@ from wtforms.ext.sqlalchemy.fields import QuerySelectField
import datetime
from . import app
+from .model import User
today = datetime.date.today
@@ -64,3 +65,23 @@ class ConstForm(Form):
prev = QuerySelectField(u"Vorgänger",
get_label="description",
allow_blank=True)
+
+class LoginForm(Form):
+ username = StringField(u"Username", req)
+ pwd = PasswordField(u"Passwort", req)
+
+ def __init__(self, *args, **kwargs):
+ Form.__init__(self,*args, **kwargs)
+ self.user = None
+
+ def validate(self):
+ rv = Form.validate(self)
+ if not rv:
+ return False
+
+ user = User.get_by(name = self.username.data)
+ if user is None or not user.check_password(self.pwd.data):
+ return False
+
+ self.user = user
+ return True