Get proper accesslist for userFolder
If the accesslist is requested for a users root folder we should properly construct the path Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
This commit is contained in:
parent
a3569a1452
commit
ae2db5e60d
2 changed files with 8 additions and 4 deletions
|
@ -1233,7 +1233,7 @@ class Manager implements IManager {
|
|||
|
||||
//Get node for the owner
|
||||
$userFolder = $this->rootFolder->getUserFolder($owner);
|
||||
if (!$userFolder->isSubNode($path)) {
|
||||
if ($path->getId() !== $userFolder->getId() && !$userFolder->isSubNode($path)) {
|
||||
$path = $userFolder->getById($path->getId())[0];
|
||||
}
|
||||
|
||||
|
@ -1245,7 +1245,12 @@ class Manager implements IManager {
|
|||
|
||||
if ($currentAccess) {
|
||||
$ownerPath = $path->getPath();
|
||||
list(, , , $ownerPath) = explode('/', $ownerPath, 4);
|
||||
$ownerPath = explode('/', $ownerPath, 4);
|
||||
if (count($ownerPath) < 4) {
|
||||
$ownerPath = '';
|
||||
} else {
|
||||
$ownerPath = $ownerPath[3];
|
||||
}
|
||||
$al['users'][$owner] = [
|
||||
'node_id' => $path->getId(),
|
||||
'node_path' => '/' . $ownerPath,
|
||||
|
|
|
@ -2767,8 +2767,7 @@ class ManagerTest extends \Test\TestCase {
|
|||
$node->expects($this->once())
|
||||
->method('getOwner')
|
||||
->willReturn($owner);
|
||||
$node->expects($this->once())
|
||||
->method('getId')
|
||||
$node->method('getId')
|
||||
->willReturn(42);
|
||||
|
||||
$userFolder = $this->createMock(Folder::class);
|
||||
|
|
Loading…
Reference in a new issue