Skip to content
Snippets Groups Projects
Unverified Commit 8108e6f5 authored by Roeland Jago Douma's avatar Roeland Jago Douma Committed by GitHub
Browse files

Merge pull request #19621 from nextcloud/bugfix/noid/transfer-owner-delete-notification

Make sure that the transfer details are present in the database during the cron run
parents aaf1cb70 1e8048ab
No related branches found
No related tags found
No related merge requests found
...@@ -27,6 +27,7 @@ declare(strict_types=1); ...@@ -27,6 +27,7 @@ declare(strict_types=1);
namespace OCA\Files\Controller; namespace OCA\Files\Controller;
use OCA\Files\BackgroundJob\TransferOwnership; use OCA\Files\BackgroundJob\TransferOwnership;
use OCA\Files\Db\TransferOwnership as TransferOwnershipEntity;
use OCA\Files\Db\TransferOwnershipMapper; use OCA\Files\Db\TransferOwnershipMapper;
use OCP\AppFramework\Db\DoesNotExistException; use OCP\AppFramework\Db\DoesNotExistException;
use OCP\AppFramework\Http; use OCP\AppFramework\Http;
...@@ -95,7 +96,7 @@ class TransferOwnershipController extends OCSController { ...@@ -95,7 +96,7 @@ class TransferOwnershipController extends OCSController {
return new DataResponse([], Http::STATUS_BAD_REQUEST); return new DataResponse([], Http::STATUS_BAD_REQUEST);
} }
$transferOwnership = new \OCA\Files\Db\TransferOwnership(); $transferOwnership = new TransferOwnershipEntity();
$transferOwnership->setSourceUser($this->userId); $transferOwnership->setSourceUser($this->userId);
$transferOwnership->setTargetUser($recipient); $transferOwnership->setTargetUser($recipient);
$transferOwnership->setFileId($node->getId()); $transferOwnership->setFileId($node->getId());
...@@ -132,15 +133,22 @@ class TransferOwnershipController extends OCSController { ...@@ -132,15 +133,22 @@ class TransferOwnershipController extends OCSController {
return new DataResponse([], Http::STATUS_FORBIDDEN); return new DataResponse([], Http::STATUS_FORBIDDEN);
} }
$this->jobList->add(TransferOwnership::class, [
'id' => $transferOwnership->getId(),
]);
$notification = $this->notificationManager->createNotification(); $notification = $this->notificationManager->createNotification();
$notification->setApp('files') $notification->setApp('files')
->setObject('transfer', (string)$id); ->setObject('transfer', (string)$id);
$this->notificationManager->markProcessed($notification); $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); return new DataResponse([], Http::STATUS_OK);
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment