forked from Github-Mirrors/canaille
refactor: differenciate between login and username in forms
This commit is contained in:
parent
6251455a1d
commit
e9c4f4c1c9
4 changed files with 31 additions and 27 deletions
|
@ -21,12 +21,12 @@ from canaille.app.i18n import native_language_name_from_code
|
|||
MINIMUM_PASSWORD_LENGTH = 8
|
||||
|
||||
|
||||
def unique_login(form, field):
|
||||
if models.User.get_from_login(field.data) and (
|
||||
def unique_user_name(form, field):
|
||||
if models.User.get(user_name=field.data) and (
|
||||
not getattr(form, "user", None) or form.user.user_name != field.data
|
||||
):
|
||||
raise wtforms.ValidationError(
|
||||
_("The login '{login}' already exists").format(login=field.data)
|
||||
_("The user name '{user_name}' already exists").format(user_name=field.data)
|
||||
)
|
||||
|
||||
|
||||
|
@ -125,7 +125,7 @@ PROFILE_FORM_FIELDS = dict(
|
|||
user_name=wtforms.StringField(
|
||||
_("Username"),
|
||||
render_kw={"placeholder": _("jdoe")},
|
||||
validators=[wtforms.validators.DataRequired(), unique_login],
|
||||
validators=[wtforms.validators.DataRequired(), unique_user_name],
|
||||
),
|
||||
formatted_name=wtforms.StringField(_("Name")),
|
||||
title=wtforms.StringField(
|
||||
|
@ -371,9 +371,9 @@ class JoinForm(Form):
|
|||
|
||||
class InvitationForm(Form):
|
||||
user_name = wtforms.StringField(
|
||||
_("Username"),
|
||||
_("User name"),
|
||||
render_kw={"placeholder": _("jdoe")},
|
||||
validators=[wtforms.validators.DataRequired(), unique_login],
|
||||
validators=[wtforms.validators.DataRequired(), unique_user_name],
|
||||
)
|
||||
user_name_editable = wtforms.BooleanField(_("Username editable by the invitee"))
|
||||
email = wtforms.EmailField(
|
||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2024-03-27 14:07+0100\n"
|
||||
"POT-Creation-Date: 2024-04-07 19:49+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -49,28 +49,28 @@ msgstr ""
|
|||
msgid "LDAP authentication failed with user '{user}'"
|
||||
msgstr ""
|
||||
|
||||
#: canaille/backends/ldap/backend.py:172
|
||||
#: canaille/backends/ldap/backend.py:170
|
||||
msgid "John Doe"
|
||||
msgstr ""
|
||||
|
||||
#: canaille/backends/ldap/backend.py:175 canaille/core/endpoints/forms.py:127
|
||||
#: canaille/backends/ldap/backend.py:173 canaille/core/endpoints/forms.py:127
|
||||
#: canaille/core/endpoints/forms.py:375
|
||||
msgid "jdoe"
|
||||
msgstr ""
|
||||
|
||||
#: canaille/backends/ldap/backend.py:178
|
||||
#: canaille/backends/ldap/backend.py:176
|
||||
msgid "john@doe.com"
|
||||
msgstr ""
|
||||
|
||||
#: canaille/backends/ldap/backend.py:180
|
||||
#: canaille/backends/ldap/backend.py:178
|
||||
msgid " or "
|
||||
msgstr ""
|
||||
|
||||
#: canaille/backends/ldap/models.py:130
|
||||
#: canaille/backends/ldap/models.py:98
|
||||
msgid "Your account has been locked."
|
||||
msgstr ""
|
||||
|
||||
#: canaille/backends/ldap/models.py:135
|
||||
#: canaille/backends/ldap/models.py:103
|
||||
msgid "You should change your password."
|
||||
msgstr ""
|
||||
|
||||
|
@ -175,12 +175,12 @@ msgid "User account creation succeed."
|
|||
msgstr ""
|
||||
|
||||
#: canaille/core/endpoints/account.py:609
|
||||
#: canaille/core/endpoints/account.py:769
|
||||
#: canaille/core/endpoints/account.py:771
|
||||
msgid "Profile edition failed."
|
||||
msgstr ""
|
||||
|
||||
#: canaille/core/endpoints/account.py:613
|
||||
#: canaille/core/endpoints/account.py:784
|
||||
#: canaille/core/endpoints/account.py:786
|
||||
msgid "Profile updated successfully."
|
||||
msgstr ""
|
||||
|
||||
|
@ -234,12 +234,12 @@ msgstr ""
|
|||
msgid "The account has been unlocked"
|
||||
msgstr ""
|
||||
|
||||
#: canaille/core/endpoints/account.py:804
|
||||
#: canaille/core/endpoints/account.py:806
|
||||
#, python-format
|
||||
msgid "The user %(user)s has been sucessfuly deleted"
|
||||
msgstr ""
|
||||
|
||||
#: canaille/core/endpoints/account.py:822 canaille/core/endpoints/auth.py:93
|
||||
#: canaille/core/endpoints/account.py:824 canaille/core/endpoints/auth.py:93
|
||||
#, python-format
|
||||
msgid "Connection successful. Welcome %(user)s"
|
||||
msgstr ""
|
||||
|
@ -318,7 +318,7 @@ msgid "Your password has been updated successfully"
|
|||
msgstr ""
|
||||
|
||||
#: canaille/core/endpoints/forms.py:29
|
||||
msgid "The login '{login}' already exists"
|
||||
msgid "The user name '{user_name}' already exists"
|
||||
msgstr ""
|
||||
|
||||
#: canaille/core/endpoints/forms.py:38
|
||||
|
@ -356,7 +356,7 @@ msgstr ""
|
|||
msgid "Automatic"
|
||||
msgstr ""
|
||||
|
||||
#: canaille/core/endpoints/forms.py:126 canaille/core/endpoints/forms.py:374
|
||||
#: canaille/core/endpoints/forms.py:126
|
||||
msgid "Username"
|
||||
msgstr ""
|
||||
|
||||
|
@ -519,6 +519,10 @@ msgstr ""
|
|||
msgid "Email address"
|
||||
msgstr ""
|
||||
|
||||
#: canaille/core/endpoints/forms.py:374
|
||||
msgid "User name"
|
||||
msgstr ""
|
||||
|
||||
#: canaille/core/endpoints/forms.py:378
|
||||
msgid "Username editable by the invitee"
|
||||
msgstr ""
|
||||
|
@ -1344,19 +1348,19 @@ msgstr ""
|
|||
msgid "The client has not been added. Please check your information."
|
||||
msgstr ""
|
||||
|
||||
#: canaille/oidc/endpoints/clients.py:79
|
||||
#: canaille/oidc/endpoints/clients.py:80
|
||||
msgid "The client has been created."
|
||||
msgstr ""
|
||||
|
||||
#: canaille/oidc/endpoints/clients.py:112
|
||||
#: canaille/oidc/endpoints/clients.py:113
|
||||
msgid "The client has not been edited. Please check your information."
|
||||
msgstr ""
|
||||
|
||||
#: canaille/oidc/endpoints/clients.py:141
|
||||
#: canaille/oidc/endpoints/clients.py:142
|
||||
msgid "The client has been edited."
|
||||
msgstr ""
|
||||
|
||||
#: canaille/oidc/endpoints/clients.py:149
|
||||
#: canaille/oidc/endpoints/clients.py:150
|
||||
msgid "The client has been deleted."
|
||||
msgstr ""
|
||||
|
||||
|
@ -1455,11 +1459,11 @@ msgstr ""
|
|||
msgid "Pre-consent"
|
||||
msgstr ""
|
||||
|
||||
#: canaille/oidc/endpoints/oauth.py:340
|
||||
#: canaille/oidc/endpoints/oauth.py:341
|
||||
msgid "You have been disconnected"
|
||||
msgstr ""
|
||||
|
||||
#: canaille/oidc/endpoints/oauth.py:357
|
||||
#: canaille/oidc/endpoints/oauth.py:358
|
||||
msgid "You have not been disconnected"
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -167,7 +167,7 @@ def test_invitation_login_already_taken(testclient, logged_admin):
|
|||
res.form["email"] = logged_admin.preferred_email
|
||||
res = res.form.submit(name="action", value="send", status=200)
|
||||
|
||||
res.mustcontain("The login 'admin' already exists")
|
||||
res.mustcontain("The user name 'admin' already exists")
|
||||
res.mustcontain("The email 'jane@doe.com' is already used")
|
||||
|
||||
|
||||
|
|
|
@ -120,7 +120,7 @@ def test_username_already_taken(
|
|||
res.form["emails-0"] = "any@thing.com"
|
||||
res = res.form.submit(name="action", value="create-profile")
|
||||
assert ("error", "User account creation failed.") in res.flashes
|
||||
res.mustcontain("The login 'user' already exists")
|
||||
res.mustcontain("The user name 'user' already exists")
|
||||
|
||||
|
||||
def test_email_already_taken(testclient, logged_moderator, user, foo_group, bar_group):
|
||||
|
|
Loading…
Reference in a new issue