diff --git a/changelog/unreleased/bugfix-password-enforced-check b/changelog/unreleased/bugfix-password-enforced-check new file mode 100644 index 00000000000..4cacc21a9d2 --- /dev/null +++ b/changelog/unreleased/bugfix-password-enforced-check @@ -0,0 +1,6 @@ +Bugfix: password enforced check for public links + +We've fixed a bug where we ignored the selected role in the password enforcement check. The web ui was sending the request to update a link instead of showing a modal with a password input prompt. + +https://github.com/owncloud/web/issues/8587 +https://github.com/owncloud/web/pull/8623 diff --git a/packages/web-app-files/src/components/SideBar/Shares/FileLinks.vue b/packages/web-app-files/src/components/SideBar/Shares/FileLinks.vue index 4a5ae951d6d..d6f0eb6ef99 100644 --- a/packages/web-app-files/src/components/SideBar/Shares/FileLinks.vue +++ b/packages/web-app-files/src/components/SideBar/Shares/FileLinks.vue @@ -348,19 +348,16 @@ export default defineComponent({ const canCreate = currentRole.hasPermission(SharePermissions.create) const canDelete = currentRole.hasPermission(SharePermissions.delete) - if (this.passwordEnforced.read_only === true) { - return canRead && !canUpdate && !canCreate && !canDelete - } - if (this.passwordEnforced.upload_only === true) { - return !canRead && !canUpdate && canCreate && !canDelete - } - if (this.passwordEnforced.read_write === true) { - return canRead && !canUpdate && canCreate && !canDelete - } - if (this.passwordEnforced.read_write_delete === true) { - return canRead && canUpdate && canCreate && canDelete - } - return false + const isReadOnly = canRead && !canUpdate && !canCreate && !canDelete + const isUploadOnly = !canRead && !canUpdate && canCreate && !canDelete + const isReadWrite = canRead && !canUpdate && canCreate && !canDelete + const isReadWriteDelete = canRead && canUpdate && canCreate && canDelete + return ( + (this.passwordEnforced.read_only === true && isReadOnly) || + (this.passwordEnforced.upload_only === true && isUploadOnly) || + (this.passwordEnforced.read_write === true && isReadWrite) || + (this.passwordEnforced.read_write_delete === true && isReadWriteDelete) + ) }, addNewLink() {