From 2c8b26f561c807e5b09f255e53cf8e87d8ce59ae Mon Sep 17 00:00:00 2001 From: Ferdinand Thiessen Date: Tue, 29 Oct 2024 23:54:03 +0100 Subject: [PATCH] fix(files_sharing): Password field must not be required if already set If there is already a password, there is no need to require the password in the setting ('newPassword'). It is only required for new shares. Signed-off-by: Ferdinand Thiessen --- .../src/views/SharingDetailsTab.vue | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/apps/files_sharing/src/views/SharingDetailsTab.vue b/apps/files_sharing/src/views/SharingDetailsTab.vue index 3f9dca57d03cc..0878c5d289d54 100644 --- a/apps/files_sharing/src/views/SharingDetailsTab.vue +++ b/apps/files_sharing/src/views/SharingDetailsTab.vue @@ -116,8 +116,8 @@ autocomplete="new-password" :value="hasUnsavedPassword ? share.newPassword : ''" :error="passwordError" - :helper-text="errorPasswordLabel" - :required="isPasswordEnforced" + :helper-text="errorPasswordLabel || passwordHint" + :required="isPasswordEnforced && isNewShare" :label="t('files_sharing', 'Password')" @update:value="onPasswordChange" /> @@ -723,6 +723,13 @@ export default { return undefined }, + passwordHint() { + if (this.isNewShare || this.hasUnsavedPassword) { + return undefined + } + return t('files_sharing', 'Replace current password') + }, + /** * Additional actions for the menu * @@ -887,7 +894,7 @@ export default { if (this.hasUnsavedPassword && this.isValidShareAttribute(this.share.newPassword)) { this.share.password = this.share.newPassword this.$delete(this.share, 'newPassword') - } else if (this.isPasswordEnforced && !this.isValidShareAttribute(this.share.password)) { + } else if (this.isPasswordEnforced && this.isNewShare && !this.isValidShareAttribute(this.share.password)) { this.passwordError = true } } else { @@ -981,6 +988,11 @@ export default { * @param {string} password the changed password */ onPasswordChange(password) { + if (password === '') { + this.$delete(this.share, 'newPassword') + this.passwordError = this.isNewShare && this.isPasswordEnforced + return + } this.passwordError = !this.isValidShareAttribute(password) this.$set(this.share, 'newPassword', password) },