diff options
author | Ferdinand Thiessen <opensource@fthiessen.de> | 2024-10-29 23:54:03 +0100 |
---|---|---|
committer | Ferdinand Thiessen <opensource@fthiessen.de> | 2024-10-30 10:30:09 +0100 |
commit | abcb02f06ec69c26b2b0a7e5320fc7617343564e (patch) | |
tree | a5b32a1ef43d4a97326d6fb0f12a455c7942070d /apps/files_sharing/src/views/SharingDetailsTab.vue | |
parent | dac15d13d761d27e1757ca7aa1e8bf4cce4a2351 (diff) | |
download | nextcloud-server-abcb02f06ec69c26b2b0a7e5320fc7617343564e.tar.gz nextcloud-server-abcb02f06ec69c26b2b0a7e5320fc7617343564e.zip |
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 <opensource@fthiessen.de>
Diffstat (limited to 'apps/files_sharing/src/views/SharingDetailsTab.vue')
-rw-r--r-- | apps/files_sharing/src/views/SharingDetailsTab.vue | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/apps/files_sharing/src/views/SharingDetailsTab.vue b/apps/files_sharing/src/views/SharingDetailsTab.vue index 3f9dca57d03..0878c5d289d 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) }, |