|
Pierre-Yves Chibon |
33b534 |
# -*- coding: utf-8 -*-
|
|
Pierre-Yves Chibon |
70d41a |
|
|
Pierre-Yves Chibon |
70d41a |
"""
|
|
Pierre-Yves Chibon |
362b15 |
(c) 2014-2016 - Copyright Red Hat Inc
|
|
Pierre-Yves Chibon |
70d41a |
|
|
Pierre-Yves Chibon |
70d41a |
Authors:
|
|
Pierre-Yves Chibon |
70d41a |
Pierre-Yves Chibon <pingou@pingoured.fr></pingou@pingoured.fr>
|
|
Pierre-Yves Chibon |
70d41a |
|
|
Pierre-Yves Chibon |
70d41a |
"""
|
|
Pierre-Yves Chibon |
70d41a |
|
|
Pierre-Yves Chibon |
70d41a |
|
|
Pierre-Yves Chibon |
70d41a |
# # pylint cannot import flask extension correctly
|
|
Pierre-Yves Chibon |
22a554 |
# pylint: disable=no-name-in-module
|
|
Pierre-Yves Chibon |
22a554 |
# pylint: disable=import-error
|
|
Pierre-Yves Chibon |
70d41a |
# # The forms here don't have specific methods, they just inherit them.
|
|
Pierre-Yves Chibon |
22a554 |
# pylint: disable=too-few-public-methods
|
|
Pierre-Yves Chibon |
70d41a |
# # We apparently use old style super in our __init__
|
|
Pierre-Yves Chibon |
22a554 |
# pylint: disable=super-on-old-class
|
|
Pierre-Yves Chibon |
70d41a |
# # Couple of our forms do not even have __init__
|
|
Pierre-Yves Chibon |
22a554 |
# pylint: disable=no-init
|
|
Pierre-Yves Chibon |
70d41a |
|
|
Pierre-Yves Chibon |
70d41a |
|
|
Pierre-Yves Chibon |
67d1cc |
from __future__ import unicode_literals, absolute_import
|
|
Aurélien Bompard |
dcf6f6 |
|
|
Pierre-Yves Chibon |
2011e2 |
import wtforms
|
|
Pierre-Yves Chibon |
9c2953 |
|
|
Pierre-Yves Chibon |
5a5352 |
try:
|
|
Pierre-Yves Chibon |
5a5352 |
from flask_wtf import FlaskForm as FlaskForm
|
|
Pierre-Yves Chibon |
2011e2 |
except ImportError:
|
|
Pierre-Yves Chibon |
5a5352 |
from flask_wtf import Form as FlaskForm
|
|
Pierre-Yves Chibon |
70d41a |
|
|
Pierre-Yves Chibon |
70d41a |
|
|
Pierre-Yves Chibon |
70d41a |
def same_password(form, field):
|
|
Pierre-Yves Chibon |
9c2953 |
""" Check if the data in the field is the same as in the password field.
|
|
Pierre-Yves Chibon |
9c2953 |
"""
|
|
Pierre-Yves Chibon |
70d41a |
if field.data != form.password.data:
|
|
Pierre-Yves Chibon |
0653e6 |
raise wtforms.validators.ValidationError(
|
|
Pierre-Yves Chibon |
9c2953 |
"Both password fields should be equal"
|
|
Pierre-Yves Chibon |
9c2953 |
)
|
|
Pierre-Yves Chibon |
70d41a |
|
|
Pierre-Yves Chibon |
70d41a |
|
|
Pierre-Yves Chibon |
5a5352 |
class LostPasswordForm(FlaskForm):
|
|
Pierre-Yves Chibon |
70d41a |
""" Form to ask for a password change. """
|
|
Pierre-Yves Chibon |
9c2953 |
|
|
Lenka Segura |
643d50 |
username = wtforms.StringField(
|
|
Pierre-Yves Chibon |
70d41a |
'username *',
|
|
Lenka Segura |
e2e146 |
[wtforms.validators.DataRequired()],
|
|
Pierre-Yves Chibon |
70d41a |
)
|
|
Pierre-Yves Chibon |
70d41a |
|
|
Pierre-Yves Chibon |
70d41a |
|
|
Pierre-Yves Chibon |
5a5352 |
class ResetPasswordForm(FlaskForm):
|
|
Pierre-Yves Chibon |
70d41a |
""" Form to reset one's password in the local database. """
|
|
Pierre-Yves Chibon |
9c2953 |
|
|
Pierre-Yves Chibon |
70d41a |
password = wtforms.PasswordField(
|
|
Pierre-Yves Chibon |
70d41a |
'Password *',
|
|
Lenka Segura |
e2e146 |
[wtforms.validators.DataRequired()],
|
|
Pierre-Yves Chibon |
70d41a |
)
|
|
Pierre-Yves Chibon |
70d41a |
confirm_password = wtforms.PasswordField(
|
|
Pierre-Yves Chibon |
70d41a |
'Confirm password *',
|
|
Lenka Segura |
e2e146 |
[wtforms.validators.DataRequired(), same_password],
|
|
Pierre-Yves Chibon |
70d41a |
)
|
|
Pierre-Yves Chibon |
70d41a |
|
|
Pierre-Yves Chibon |
70d41a |
|
|
Pierre-Yves Chibon |
5a5352 |
class LoginForm(FlaskForm):
|
|
Pierre-Yves Chibon |
70d41a |
""" Form to login via the local database. """
|
|
Pierre-Yves Chibon |
9c2953 |
|
|
Lenka Segura |
643d50 |
username = wtforms.StringField(
|
|
Pierre-Yves Chibon |
70d41a |
'username *',
|
|
Lenka Segura |
e2e146 |
[wtforms.validators.DataRequired()],
|
|
Pierre-Yves Chibon |
70d41a |
)
|
|
Pierre-Yves Chibon |
70d41a |
password = wtforms.PasswordField(
|
|
Pierre-Yves Chibon |
70d41a |
'Password *',
|
|
Lenka Segura |
e2e146 |
[wtforms.validators.DataRequired()],
|
|
Pierre-Yves Chibon |
70d41a |
)
|
|
Pierre-Yves Chibon |
70d41a |
|
|
Pierre-Yves Chibon |
70d41a |
|
|
Pierre-Yves Chibon |
5a5352 |
class NewUserForm(FlaskForm):
|
|
Pierre-Yves Chibon |
70d41a |
""" Form to add a new user to the local database. """
|
|
Pierre-Yves Chibon |
9c2953 |
|
|
Lenka Segura |
643d50 |
user = wtforms.StringField(
|
|
Pierre-Yves Chibon |
70d41a |
'username *',
|
|
Lenka Segura |
e2e146 |
[wtforms.validators.DataRequired()],
|
|
Pierre-Yves Chibon |
70d41a |
)
|
|
Lenka Segura |
643d50 |
fullname = wtforms.StringField(
|
|
Lenka Segura |
643d50 |
"Full name", [wtforms.validators.Optional()]
|
|
Lenka Segura |
643d50 |
)
|
|
Lenka Segura |
643d50 |
email_address = wtforms.StringField(
|
|
Pierre-Yves Chibon |
70d41a |
'Email address *',
|
|
Lenka Segura |
e2e146 |
[wtforms.validators.DataRequired(), wtforms.validators.Email()],
|
|
Pierre-Yves Chibon |
70d41a |
)
|
|
Pierre-Yves Chibon |
70d41a |
password = wtforms.PasswordField(
|
|
Pierre-Yves Chibon |
70d41a |
'Password *',
|
|
Lenka Segura |
e2e146 |
[wtforms.validators.DataRequired()],
|
|
Pierre-Yves Chibon |
70d41a |
)
|
|
Pierre-Yves Chibon |
70d41a |
confirm_password = wtforms.PasswordField(
|
|
Pierre-Yves Chibon |
70d41a |
'Confirm password *',
|
|
Lenka Segura |
e2e146 |
[wtforms.validators.DataRequired(), same_password],
|
|
Pierre-Yves Chibon |
70d41a |
)
|
|
farhaanbukhsh |
646231 |
|
|
Pierre-Yves Chibon |
0653e6 |
|
|
Pierre-Yves Chibon |
5a5352 |
class ChangePasswordForm(FlaskForm):
|
|
farhaanbukhsh |
646231 |
""" Form to reset one's password in the local database. """
|
|
Pierre-Yves Chibon |
9c2953 |
|
|
farhaanbukhsh |
646231 |
old_password = wtforms.PasswordField(
|
|
farhaanbukhsh |
646231 |
'Old Password *',
|
|
Lenka Segura |
e2e146 |
[wtforms.validators.DataRequired()],
|
|
farhaanbukhsh |
646231 |
)
|
|
farhaanbukhsh |
646231 |
password = wtforms.PasswordField(
|
|
farhaanbukhsh |
646231 |
'Password *',
|
|
Lenka Segura |
e2e146 |
[wtforms.validators.DataRequired()],
|
|
farhaanbukhsh |
646231 |
)
|
|
farhaanbukhsh |
646231 |
confirm_password = wtforms.PasswordField(
|
|
farhaanbukhsh |
646231 |
'Confirm password *',
|
|
Lenka Segura |
e2e146 |
[wtforms.validators.DataRequired(), same_password],
|
|
farhaanbukhsh |
646231 |
)
|