From dbb134751c3a87cf203cd243b1952b146b8914c1 Mon Sep 17 00:00:00 2001 From: René 'Necoro' Neumann Date: Mon, 14 Oct 2013 23:50:27 +0200 Subject: Finish login stuff --- app/forms.py | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) (limited to 'app/forms.py') 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 -- cgit v1.2.3-54-g00ecf