From 1e8048abee1745bab648dba5bf96f956c718e4e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julius=20H=C3=A4rtl?= Date: Mon, 24 Feb 2020 15:01:39 +0100 Subject: [PATCH] Make sure that the transfer entry is present in the database MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Julius Härtl --- .../Controller/TransferOwnershipController.php | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/apps/files/lib/Controller/TransferOwnershipController.php b/apps/files/lib/Controller/TransferOwnershipController.php index 824c8c0051..639e73187c 100644 --- a/apps/files/lib/Controller/TransferOwnershipController.php +++ b/apps/files/lib/Controller/TransferOwnershipController.php @@ -27,6 +27,7 @@ declare(strict_types=1); namespace OCA\Files\Controller; use OCA\Files\BackgroundJob\TransferOwnership; +use OCA\Files\Db\TransferOwnership as TransferOwnershipEntity; use OCA\Files\Db\TransferOwnershipMapper; use OCP\AppFramework\Db\DoesNotExistException; use OCP\AppFramework\Http; @@ -95,7 +96,7 @@ class TransferOwnershipController extends OCSController { return new DataResponse([], Http::STATUS_BAD_REQUEST); } - $transferOwnership = new \OCA\Files\Db\TransferOwnership(); + $transferOwnership = new TransferOwnershipEntity(); $transferOwnership->setSourceUser($this->userId); $transferOwnership->setTargetUser($recipient); $transferOwnership->setFileId($node->getId()); @@ -132,15 +133,22 @@ class TransferOwnershipController extends OCSController { return new DataResponse([], Http::STATUS_FORBIDDEN); } - $this->jobList->add(TransferOwnership::class, [ - 'id' => $transferOwnership->getId(), - ]); - $notification = $this->notificationManager->createNotification(); $notification->setApp('files') ->setObject('transfer', (string)$id); $this->notificationManager->markProcessed($notification); + $newTransferOwnership = new TransferOwnershipEntity(); + $newTransferOwnership->setNodeName($transferOwnership->getNodeName()); + $newTransferOwnership->setFileId($transferOwnership->getFileId()); + $newTransferOwnership->setSourceUser($transferOwnership->getSourceUser()); + $newTransferOwnership->setTargetUser($transferOwnership->getTargetUser()); + $this->mapper->insert($newTransferOwnership); + + $this->jobList->add(TransferOwnership::class, [ + 'id' => $newTransferOwnership->getId(), + ]); + return new DataResponse([], Http::STATUS_OK); }