aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoeland Jago Douma <roeland@famdouma.nl>2020-01-31 11:04:43 +0100
committerRoeland Jago Douma <roeland@famdouma.nl>2020-02-03 11:15:57 +0100
commit5bc0951267466e2bd6cbe169fd87e79ede04bba6 (patch)
treef1520fdff59798ba529864ad5ba67e9d72f27518
parent055ae9b2cd9f37f854d3c8c4f7e2051cd116fa53 (diff)
downloadnextcloud-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.php11
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);
}