summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMorris Jobke <hey@morrisjobke.de>2018-08-20 14:53:41 +0200
committerGitHub <noreply@github.com>2018-08-20 14:53:41 +0200
commitda6cacb951b4aeff96bb784b572377af8e5d4767 (patch)
tree80b918de18af736ed31337e457bde5e6fcd7a7cb
parentaf495122c1205260b5a36bd50bc4448436838573 (diff)
parentae90f3eb17d2d96010a26bc475563fa69cfc59bb (diff)
downloadnextcloud-server-da6cacb951b4aeff96bb784b572377af8e5d4767.tar.gz
nextcloud-server-da6cacb951b4aeff96bb784b572377af8e5d4767.zip
Merge pull request #10566 from nextcloud/stable12-10348-fix-transfering-ownership-of-a-share-to-user-with-same-id-as-receiver
[stable12] Fix transfering ownership of a share to user with same id as receiver
-rw-r--r--apps/files/lib/Command/TransferOwnership.php3
-rw-r--r--build/integration/features/transfer-ownership.feature13
2 files changed, 15 insertions, 1 deletions
diff --git a/apps/files/lib/Command/TransferOwnership.php b/apps/files/lib/Command/TransferOwnership.php
index aa07cf9de91..b5d8455865f 100644
--- a/apps/files/lib/Command/TransferOwnership.php
+++ b/apps/files/lib/Command/TransferOwnership.php
@@ -259,7 +259,8 @@ class TransferOwnership extends Command {
foreach($this->shares as $share) {
try {
- if ($share->getSharedWith() === $this->destinationUser) {
+ if ($share->getShareType() === \OCP\Share::SHARE_TYPE_USER &&
+ $share->getSharedWith() === $this->destinationUser) {
// Unmount the shares before deleting, so we don't try to get the storage later on.
$shareMountPoint = $this->mountManager->find('/' . $this->destinationUser . '/files' . $share->getTarget());
if ($shareMountPoint) {
diff --git a/build/integration/features/transfer-ownership.feature b/build/integration/features/transfer-ownership.feature
index 7990eac3280..3f10fa75a83 100644
--- a/build/integration/features/transfer-ownership.feature
+++ b/build/integration/features/transfer-ownership.feature
@@ -72,6 +72,19 @@ Feature: transfer-ownership
And As an "user2"
Then Downloaded content when downloading file "/test/somefile.txt" with range "bytes=0-6" should be "This is"
+ Scenario: transfering ownership of file shares to user with the same id as the group
+ Given user "user0" exists
+ And user "test" exists
+ And user "user2" exists
+ And group "test" exists
+ And user "user2" belongs to group "test"
+ And User "user0" uploads file "data/textfile.txt" to "/somefile.txt"
+ And file "/somefile.txt" of user "user0" is shared with group "test"
+ When transfering ownership from "user0" to "test"
+ And the command was successful
+ And As an "user2"
+ Then Downloaded content when downloading file "/somefile.txt" with range "bytes=0-6" should be "This is"
+
Scenario: transfering ownership does not transfer received shares
Given user "user0" exists
And user "user1" exists