mirror of
https://github.com/aljazceru/CTFd.git
synced 2025-12-17 05:54:19 +01:00
* Add rough translations support into CTFd * Add `flask-babel` dependency * Adds language column to users table * Closes #570 --------- Co-authored-by: Miłosz Skaza <milosz.skaza@ctfd.io>
63 lines
1.9 KiB
Python
63 lines
1.9 KiB
Python
from flask_babel import lazy_gettext as _l
|
|
from wtforms import PasswordField, StringField
|
|
from wtforms.fields.html5 import EmailField
|
|
from wtforms.validators import InputRequired
|
|
|
|
from CTFd.forms import BaseForm
|
|
from CTFd.forms.fields import SubmitField
|
|
from CTFd.forms.users import (
|
|
attach_custom_user_fields,
|
|
attach_registration_code_field,
|
|
build_custom_user_fields,
|
|
build_registration_code_field,
|
|
)
|
|
|
|
|
|
def RegistrationForm(*args, **kwargs):
|
|
class _RegistrationForm(BaseForm):
|
|
name = StringField(
|
|
_l("User Name"), validators=[InputRequired()], render_kw={"autofocus": True}
|
|
)
|
|
email = EmailField(_l("Email"), validators=[InputRequired()])
|
|
password = PasswordField(_l("Password"), validators=[InputRequired()])
|
|
submit = SubmitField(_l("Submit"))
|
|
|
|
@property
|
|
def extra(self):
|
|
return build_custom_user_fields(
|
|
self, include_entries=False, blacklisted_items=()
|
|
) + build_registration_code_field(self)
|
|
|
|
attach_custom_user_fields(_RegistrationForm)
|
|
attach_registration_code_field(_RegistrationForm)
|
|
|
|
return _RegistrationForm(*args, **kwargs)
|
|
|
|
|
|
class LoginForm(BaseForm):
|
|
name = StringField(
|
|
_l("User Name or Email"),
|
|
validators=[InputRequired()],
|
|
render_kw={"autofocus": True},
|
|
)
|
|
password = PasswordField(_l("Password"), validators=[InputRequired()])
|
|
submit = SubmitField(_l("Submit"))
|
|
|
|
|
|
class ConfirmForm(BaseForm):
|
|
submit = SubmitField(_l("Resend Confirmation Email"))
|
|
|
|
|
|
class ResetPasswordRequestForm(BaseForm):
|
|
email = EmailField(
|
|
_l("Email"), validators=[InputRequired()], render_kw={"autofocus": True}
|
|
)
|
|
submit = SubmitField(_l("Submit"))
|
|
|
|
|
|
class ResetPasswordForm(BaseForm):
|
|
password = PasswordField(
|
|
_l("Password"), validators=[InputRequired()], render_kw={"autofocus": True}
|
|
)
|
|
submit = SubmitField(_l("Submit"))
|