diff --git a/apps/files/js/dist/personal-settings.js b/apps/files/js/dist/personal-settings.js index 20970e33caa257f43afa0bb3618af490b555f140..26b0e4b3dfb31e8bc965b1de5da79d78cd32dede 100644 Binary files a/apps/files/js/dist/personal-settings.js and b/apps/files/js/dist/personal-settings.js differ diff --git a/apps/files/js/dist/personal-settings.js.map b/apps/files/js/dist/personal-settings.js.map index bbb3d3711552358ad0f6f00c39a8cb62786e71c3..34ba027ae299d499da038a9985957a0aca5ae5b2 100644 Binary files a/apps/files/js/dist/personal-settings.js.map and b/apps/files/js/dist/personal-settings.js.map differ diff --git a/apps/files/lib/Controller/TransferOwnershipController.php b/apps/files/lib/Controller/TransferOwnershipController.php index 639e73187ca52b06f9f965d1c3a64d0a10bc1947..0b33e12e88f22fb9008e10ea9ea042607e811533 100644 --- a/apps/files/lib/Controller/TransferOwnershipController.php +++ b/apps/files/lib/Controller/TransferOwnershipController.php @@ -96,6 +96,10 @@ class TransferOwnershipController extends OCSController { return new DataResponse([], Http::STATUS_BAD_REQUEST); } + if ($node->getOwner()->getUID() !== $this->userId) { + return new DataResponse([], Http::STATUS_FORBIDDEN); + } + $transferOwnership = new TransferOwnershipEntity(); $transferOwnership->setSourceUser($this->userId); $transferOwnership->setTargetUser($recipient); diff --git a/apps/files/src/components/TransferOwnershipDialogue.vue b/apps/files/src/components/TransferOwnershipDialogue.vue index e88698c9a4fd4be179d3a260fa51ca8e7e6c817a..d6b56f118d45921413dac51fa63d60995e4c18bb 100644 --- a/apps/files/src/components/TransferOwnershipDialogue.vue +++ b/apps/files/src/components/TransferOwnershipDialogue.vue @@ -215,7 +215,11 @@ export default { .catch(error => { logger.error('Could not send ownership transfer request', { error }) - this.submitError = error.message || t('files', 'Unknown error') + if (error?.response?.status === 403) { + this.submitError = t('files', 'Cannot transfter ownership of a file or folder you don\'t own') + } else { + this.submitError = error.message || t('files', 'Unknown error') + } }) }, },