diff options
author | Roeland Jago Douma <roeland@famdouma.nl> | 2020-01-31 11:04:43 +0100 |
---|---|---|
committer | Roeland Jago Douma <roeland@famdouma.nl> | 2020-02-03 11:15:57 +0100 |
commit | 5bc0951267466e2bd6cbe169fd87e79ede04bba6 (patch) | |
tree | f1520fdff59798ba529864ad5ba67e9d72f27518 | |
parent | 055ae9b2cd9f37f854d3c8c4f7e2051cd116fa53 (diff) | |
download | nextcloud-server-5bc0951267466e2bd6cbe169fd87e79ede04bba6.tar.gz nextcloud-server-5bc0951267466e2bd6cbe169fd87e79ede04bba6.zip |
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 <roeland@famdouma.nl>
-rw-r--r-- | apps/files/lib/Service/OwnershipTransferService.php | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/apps/files/lib/Service/OwnershipTransferService.php b/apps/files/lib/Service/OwnershipTransferService.php index b130910e25b..f316216814f 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); } |