summaryrefslogtreecommitdiff
path: root/app/forms.py
diff options
context:
space:
mode:
authorRené 'Necoro' Neumann <necoro@necoro.net>2013-11-01 14:19:07 +0100
committerRené 'Necoro' Neumann <necoro@necoro.net>2013-11-01 14:19:07 +0100
commitb36ec721ab97b80b1d070426c6f3f09b62ac5c7e (patch)
treeebc4016760e062d2a27072934b32980e2debf366 /app/forms.py
parent6e6e436d5c76399b567a1e9e5ae16d77d0052f4f (diff)
downloadkosten-b36ec721ab97b80b1d070426c6f3f09b62ac5c7e.tar.gz
kosten-b36ec721ab97b80b1d070426c6f3f09b62ac5c7e.tar.bz2
kosten-b36ec721ab97b80b1d070426c6f3f09b62ac5c7e.zip
Some reorganization
Diffstat (limited to 'app/forms.py')
-rw-r--r--app/forms.py82
1 files changed, 2 insertions, 80 deletions
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