aboutsummaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorLukas Reschke <lukas@statuscode.ch>2017-02-22 12:26:47 +0100
committerGitHub <noreply@github.com>2017-02-22 12:26:47 +0100
commita2e16fd5bada32559fca9450b4b635d7c0708668 (patch)
treecb81eda5fa9b4aa990fe4da2c6df08c4862ebf2b /apps
parent9e21a555cbcb1c500da81f91535cb7109cbc4bb2 (diff)
parent2ca8339d012773e3906244f7b039e5bd72920c5f (diff)
downloadnextcloud-server-a2e16fd5bada32559fca9450b4b635d7c0708668.tar.gz
nextcloud-server-a2e16fd5bada32559fca9450b4b635d7c0708668.zip
Merge pull request #3418 from nextcloud/add-groups-to-userinfo
add groups to user info output
Diffstat (limited to 'apps')
-rw-r--r--apps/provisioning_api/lib/Controller/UsersController.php6
-rw-r--r--apps/provisioning_api/tests/Controller/UsersControllerTest.php33
2 files changed, 36 insertions, 3 deletions
diff --git a/apps/provisioning_api/lib/Controller/UsersController.php b/apps/provisioning_api/lib/Controller/UsersController.php
index 1e8a767b33a..766775dfdbe 100644
--- a/apps/provisioning_api/lib/Controller/UsersController.php
+++ b/apps/provisioning_api/lib/Controller/UsersController.php
@@ -252,6 +252,11 @@ class UsersController extends OCSController {
}
$userAccount = $this->accountManager->getUser($targetUserObject);
+ $groups = $this->groupManager->getUserGroups($targetUserObject);
+ $gids = [];
+ foreach ($groups as $group) {
+ $gids[] = $group->getDisplayName();
+ }
// Find the data
$data['id'] = $targetUserObject->getUID();
@@ -262,6 +267,7 @@ class UsersController extends OCSController {
$data['address'] = $userAccount[\OC\Accounts\AccountManager::PROPERTY_ADDRESS]['value'];
$data['webpage'] = $userAccount[\OC\Accounts\AccountManager::PROPERTY_WEBSITE]['value'];
$data['twitter'] = $userAccount[\OC\Accounts\AccountManager::PROPERTY_TWITTER]['value'];
+ $data['groups'] = $gids;
return $data;
}
diff --git a/apps/provisioning_api/tests/Controller/UsersControllerTest.php b/apps/provisioning_api/tests/Controller/UsersControllerTest.php
index a3e5bf6fde6..a049b15bf03 100644
--- a/apps/provisioning_api/tests/Controller/UsersControllerTest.php
+++ b/apps/provisioning_api/tests/Controller/UsersControllerTest.php
@@ -635,6 +635,9 @@ class UsersControllerTest extends OriginalTest {
}
public function testGetUserDataAsAdmin() {
+ $group = $this->getMockBuilder(IGroup::class)
+ ->disableOriginalConstructor()
+ ->getMock();
$loggedInUser = $this->getMockBuilder('OCP\IUser')
->disableOriginalConstructor()
->getMock();
@@ -662,6 +665,19 @@ class UsersControllerTest extends OriginalTest {
->method('isAdmin')
->with('admin')
->will($this->returnValue(true));
+ $this->groupManager
+ ->expects($this->any())
+ ->method('getUserGroups')
+ ->willReturn([$group, $group, $group]);
+ $group->expects($this->at(0))
+ ->method('getDisplayName')
+ ->willReturn('group0');
+ $group->expects($this->at(1))
+ ->method('getDisplayName')
+ ->willReturn('group1');
+ $group->expects($this->at(2))
+ ->method('getDisplayName')
+ ->willReturn('group2');
$this->accountManager->expects($this->any())->method('getUser')
->with($targetUser)
->willReturn(
@@ -700,7 +716,8 @@ class UsersControllerTest extends OriginalTest {
'phone' => 'phone',
'address' => 'address',
'webpage' => 'website',
- 'twitter' => 'twitter'
+ 'twitter' => 'twitter',
+ 'groups' => ['group0', 'group1', 'group2']
];
$this->assertEquals($expected, $this->invokePrivate($this->api, 'getUserData', ['UserToGet']));
}
@@ -734,6 +751,10 @@ class UsersControllerTest extends OriginalTest {
->method('isAdmin')
->with('subadmin')
->will($this->returnValue(false));
+ $this->groupManager
+ ->expects($this->any())
+ ->method('getUserGroups')
+ ->willReturn([]);
$subAdminManager = $this->getMockBuilder('OC\SubAdmin')
->disableOriginalConstructor()
->getMock();
@@ -784,7 +805,8 @@ class UsersControllerTest extends OriginalTest {
'phone' => 'phone',
'address' => 'address',
'webpage' => 'website',
- 'twitter' => 'twitter'
+ 'twitter' => 'twitter',
+ 'groups' => []
];
$this->assertEquals($expected, $this->invokePrivate($this->api, 'getUserData', ['UserToGet']));
}
@@ -872,6 +894,10 @@ class UsersControllerTest extends OriginalTest {
->expects($this->once())
->method('getSubAdmin')
->will($this->returnValue($subAdminManager));
+ $this->groupManager
+ ->expects($this->any())
+ ->method('getUserGroups')
+ ->willReturn([]);
$this->api
->expects($this->once())
->method('fillStorageInfo')
@@ -908,7 +934,8 @@ class UsersControllerTest extends OriginalTest {
'phone' => 'phone',
'address' => 'address',
'webpage' => 'website',
- 'twitter' => 'twitter'
+ 'twitter' => 'twitter',
+ 'groups' => []
];
$this->assertEquals($expected, $this->invokePrivate($this->api, 'getUserData', ['subadmin']));
}