From b36ec721ab97b80b1d070426c6f3f09b62ac5c7e Mon Sep 17 00:00:00 2001 From: René 'Necoro' Neumann Date: Fri, 1 Nov 2013 14:19:07 +0100 Subject: Some reorganization --- app/forms.py | 82 ++---------------------------------------------------------- 1 file changed, 2 insertions(+), 80 deletions(-) (limited to 'app/forms.py') diff --git a/app/forms.py b/app/forms.py index 6c5782a..b4d7427 100644 --- a/app/forms.py +++ b/app/forms.py @@ -2,18 +2,13 @@ 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 validators from wtforms import fields, ValidationError from wtforms.ext.sqlalchemy.fields import QuerySelectField from wtforms.ext.i18n.form import Form as i18nForm -import datetime - from . import app -from . import login - -today = datetime.date.today @app.template_test('hidden') def is_hidden_field(f): @@ -25,7 +20,7 @@ class DecimalField(fields.DecimalField): value = valuelist[0].replace(',','.') super(DecimalField, self).process_formdata([value]) -req = [v.input_required()] +req = [validators.input_required()] class Form(_Form, i18nForm): # docs say LOCALES, code says LANGUAGES ... use both :) @@ -53,76 +48,3 @@ class Form(_Form, i18nForm): # stuff added by flask-wtf # FIXME: remove this, if flask-babel is used in the app return i18nForm._get_translations(self) - -class ExpenseForm(Form): - date = DateField(u'Datum', req, - format="%d.%m.%Y", - default=lambda: today()) - - expense = DecimalField(u'Betrag', req, - description=u'EUR', - places=2) - - description = StringField(u'Beschreibung', req) - - category = QuerySelectField(u'Kategorie', - get_label='name') - -class ConstForm(Form): - start = DateField(u'Beginn', req, - format='%m.%Y', - default=lambda: today()) - - end = DateField(u'Ende', req, - format='%m.%Y', - default=lambda: today().replace(year = today().year + 1), - description=u'(einschließlich)') - - months = IntegerField(u'Zahlungsrythmus', req, - description='Monate') - - expense = DecimalField(u'Betrag', req, - description=u'EUR', - places=2) - - description = StringField(u'Beschreibung', req) - - category = QuerySelectField(u'Kategorie', - get_label='name') - - 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 = login.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 - -class ChangePwdForm(Form): - old = PasswordField(u'Passwort', req) - new = PasswordField(u'Neues Passwort', req + [v.EqualTo('confirm', u'Passwörter stimmen nicht überein')]) - confirm = PasswordField(u'Wdh. neues Passwort', req) - - def validate_old(self, field): - if not login.current_user.check_password(field.data): - raise ValidationError(u"Falsches Passwort") - - @property - def newpwd(self): - return self.new.data -- cgit v1.2.3-70-g09d2