From 5bc0951267466e2bd6cbe169fd87e79ede04bba6 Mon Sep 17 00:00:00 2001 From: Roeland Jago Douma Date: Fri, 31 Jan 2020 11:04:43 +0100 Subject: [PATCH] Allow specifying this is the first login On firstlogin we allow non empty target folders. So that for guest transfers the user sees the same UI. Signed-off-by: Roeland Jago Douma --- apps/files/lib/Service/OwnershipTransferService.php | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/apps/files/lib/Service/OwnershipTransferService.php b/apps/files/lib/Service/OwnershipTransferService.php index b130910e25..f316216814 100644 --- a/apps/files/lib/Service/OwnershipTransferService.php +++ b/apps/files/lib/Service/OwnershipTransferService.php @@ -80,7 +80,8 @@ class OwnershipTransferService { IUser $destinationUser, string $path, ?OutputInterface $output = null, - bool $move = false): void { + bool $move = false, + bool $firstLogin = false): void { $output = $output ?? new NullOutput(); $sourceUid = $sourceUser->getUID(); $destinationUid = $destinationUser->getUID(); @@ -107,7 +108,13 @@ class OwnershipTransferService { throw new TransferOwnershipException("Unknown path provided: $path", 1); } - if ($move && (!$view->is_dir($finalTarget) || count($view->getDirectoryContent($finalTarget)) > 0)) { + if ($move && ( + !$view->is_dir($finalTarget) || ( + !$firstLogin && + count($view->getDirectoryContent($finalTarget)) > 0 + ) + ) + ) { throw new TransferOwnershipException("Destination path does not exists or is not empty", 1); }