DEV: replace passwordValidation mixin in InvitesShowController (#31442)

This replaces the password validation mixin with a helper class in the
invites-show controller class.
This commit is contained in:
Kelv 2025-02-21 22:14:43 +08:00 committed by GitHub
parent d55a113242
commit 3ab39f3e4c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -9,23 +9,24 @@ import { extractError } from "discourse/lib/ajax-error";
import discourseComputed from "discourse/lib/decorators";
import getUrl from "discourse/lib/get-url";
import NameValidationHelper from "discourse/lib/name-validation-helper";
import PasswordValidationHelper from "discourse/lib/password-validation-helper";
import DiscourseURL from "discourse/lib/url";
import UsernameValidationHelper from "discourse/lib/username-validation-helper";
import { emailValid } from "discourse/lib/utilities";
import PasswordValidation from "discourse/mixins/password-validation";
import UserFieldsValidation from "discourse/mixins/user-fields-validation";
import { findAll as findLoginMethods } from "discourse/models/login-method";
import { i18n } from "discourse-i18n";
export default class InvitesShowController extends Controller.extend(
PasswordValidation,
UserFieldsValidation
) {
@tracked accountPassword;
@tracked accountUsername;
@tracked isDeveloper;
queryParams = ["t"];
nameValidationHelper = new NameValidationHelper(this);
usernameValidationHelper = new UsernameValidationHelper(this);
passwordValidationHelper = new PasswordValidationHelper(this);
successMessage = null;
@readOnly("model.is_invite_link") isInviteLink;
@readOnly("model.invited_by") invitedBy;
@ -64,6 +65,11 @@ export default class InvitesShowController extends Controller.extend(
return this.nameValidationHelper.nameValidation;
}
@dependentKeyCompat
get passwordValidation() {
return this.passwordValidationHelper.passwordValidation;
}
authenticationComplete(options) {
const props = {
accountUsername: options.username,
@ -357,8 +363,10 @@ export default class InvitesShowController extends Controller.extend(
this.rejectedEmails.pushObject(result.values.email);
}
if (result.errors?.["user_password.password"]?.length > 0) {
this.rejectedPasswords.pushObject(this.accountPassword);
this.rejectedPasswordsMessages.set(
this.passwordValidationHelper.rejectedPasswords.push(
this.accountPassword
);
this.passwordValidationHelper.rejectedPasswordsMessages.set(
this.accountPassword,
result.errors["user_password.password"][0]
);