diff options
Diffstat (limited to 'src/web/forms.py')
-rw-r--r-- | src/web/forms.py | 32 |
1 files changed, 22 insertions, 10 deletions
diff --git a/src/web/forms.py b/src/web/forms.py index 447a54e9..9dbf1b5f 100644 --- a/src/web/forms.py +++ b/src/web/forms.py @@ -27,17 +27,18 @@ __copyright__ = "Copyright (c) Cedric Bonhomme" __license__ = "GPLv3" -from flask import flash, request, url_for, redirect +from flask import flash, url_for, redirect from flask.ext.wtf import Form from flask.ext.babel import lazy_gettext from wtforms import TextField, TextAreaField, PasswordField, BooleanField, \ - SubmitField, IntegerField, validators, HiddenField + SubmitField, IntegerField, SelectField, validators, HiddenField from flask.ext.wtf.html5 import EmailField from flask_wtf import RecaptchaField from web import utils from web.models import User + class SignupForm(Form): """ Sign up form (registration to jarr). @@ -57,10 +58,13 @@ class SignupForm(Form): def validate(self): validated = super(SignupForm, self).validate() if self.nickname.data != User.make_valid_nickname(self.nickname.data): - self.nickname.errors.append(lazy_gettext('This nickname has invalid characters. Please use letters, numbers, dots and underscores only.')) + self.nickname.errors.append(lazy_gettext( + 'This nickname has invalid characters. ' + 'Please use letters, numbers, dots and underscores only.')) validated = False return validated + class RedirectForm(Form): """ Secure back redirects with WTForms. @@ -78,6 +82,7 @@ class RedirectForm(Form): target = utils.get_redirect_target() return redirect(target or url_for(endpoint, **values)) + class SigninForm(RedirectForm): """ Sign in form (connection to jarr). @@ -102,7 +107,6 @@ class SigninForm(RedirectForm): return False else: flash(lazy_gettext('Invalid email or password'), 'danger') - #self.email.errors.append("Invalid email or password") return False @@ -124,7 +128,9 @@ class UserForm(Form): def validate(self): validated = super(UserForm, self).validate() if self.nickname.data != User.make_valid_nickname(self.nickname.data): - self.nickname.errors.append(lazy_gettext('This nickname has invalid characters. Please use letters, numbers, dots and underscores only.')) + self.nickname.errors.append(lazy_gettext( + 'This nickname has invalid characters. ' + 'Please use letters, numbers, dots and underscores only.')) validated = False return validated @@ -167,11 +173,18 @@ class AddFeedForm(Form): site_link = TextField(lazy_gettext("Site link"), [validators.Optional()]) enabled = BooleanField(lazy_gettext("Check for updates"), default=True) submit = SubmitField(lazy_gettext("Save")) + category_id = SelectField(lazy_gettext("Category of the feed"), + [validators.Optional()]) - def validate(self): - if not super(AddFeedForm, self).validate(): - return False - return True + def set_category_choices(self, categories): + self.category_id.choices = [('0', 'No Category')] + self.category_id.choices += [(str(cat.id), cat.name) + for cat in categories] + + +class CategoryForm(Form): + name = TextField(lazy_gettext("Name")) + submit = SubmitField(lazy_gettext("Submit")) class InformationMessageForm(Form): @@ -201,5 +214,4 @@ class RecoverPasswordForm(Form): return False else: flash(lazy_gettext('Invalid email.'), 'danger') - #self.email.errors.append("Invalid email") return False |