From 8b5ae17f02095cf85988fadc4fd1e36dc26f4005 Mon Sep 17 00:00:00 2001 From: negue Date: Sun, 25 Jun 2023 20:52:03 +0200 Subject: [PATCH] also check for invalid arguments in the password settings --- website/client/src/mixins/passwordInputChecks.js | 15 +++++++++++++++ .../settings/settingRows/passwordSetting.vue | 4 ++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/website/client/src/mixins/passwordInputChecks.js b/website/client/src/mixins/passwordInputChecks.js index 0052ffa281..77758f5144 100644 --- a/website/client/src/mixins/passwordInputChecks.js +++ b/website/client/src/mixins/passwordInputChecks.js @@ -15,6 +15,7 @@ export const PasswordInputChecksMixin = { mixinData: { currentPasswordIssues: [], newPasswordIssues: [], + confirmPasswordIssues: [], }, }; }, @@ -22,6 +23,7 @@ export const PasswordInputChecksMixin = { clearPasswordIssues () { this.mixinData.currentPasswordIssues.length = 0; this.mixinData.newPasswordIssues.length = 0; + this.mixinData.confirmPasswordIssues.length = 0; }, /** * @param {() => Promise} promiseCall @@ -40,6 +42,19 @@ export const PasswordInputChecksMixin = { this.mixinData.currentPasswordIssues.push(message); } else if ([this.$t('missingNewPassword'), this.$t('passwordIssueLength'), this.$t('passwordConfirmationMatch')].includes(message)) { this.mixinData.newPasswordIssues.push(message); + this.mixinData.confirmPasswordIssues.push(message); + } else if (this.$t('invalidReqParams') === message) { + const errors = axiosError.response?.data?.errors ?? []; + + for (const error of errors) { + if (error.param === 'password') { + this.mixinData.currentPasswordIssues.push(error.message); + } else if (error.param === 'newPassword') { + this.mixinData.newPasswordIssues.push(error.message); + } else { + this.mixinData.confirmPasswordIssues.push(error.message); + } + } } } }, diff --git a/website/client/src/pages/settings/settingRows/passwordSetting.vue b/website/client/src/pages/settings/settingRows/passwordSetting.vue index 92a47130c2..55241df9ef 100644 --- a/website/client/src/pages/settings/settingRows/passwordSetting.vue +++ b/website/client/src/pages/settings/settingRows/passwordSetting.vue @@ -54,8 +54,8 @@ />