add groups to user info output
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
This commit is contained in:
parent
bf88060a98
commit
2ca8339d01
2 changed files with 36 additions and 3 deletions
|
@ -252,6 +252,11 @@ class UsersController extends OCSController {
|
||||||
}
|
}
|
||||||
|
|
||||||
$userAccount = $this->accountManager->getUser($targetUserObject);
|
$userAccount = $this->accountManager->getUser($targetUserObject);
|
||||||
|
$groups = $this->groupManager->getUserGroups($targetUserObject);
|
||||||
|
$gids = [];
|
||||||
|
foreach ($groups as $group) {
|
||||||
|
$gids[] = $group->getDisplayName();
|
||||||
|
}
|
||||||
|
|
||||||
// Find the data
|
// Find the data
|
||||||
$data['id'] = $targetUserObject->getUID();
|
$data['id'] = $targetUserObject->getUID();
|
||||||
|
@ -262,6 +267,7 @@ class UsersController extends OCSController {
|
||||||
$data['address'] = $userAccount[\OC\Accounts\AccountManager::PROPERTY_ADDRESS]['value'];
|
$data['address'] = $userAccount[\OC\Accounts\AccountManager::PROPERTY_ADDRESS]['value'];
|
||||||
$data['webpage'] = $userAccount[\OC\Accounts\AccountManager::PROPERTY_WEBSITE]['value'];
|
$data['webpage'] = $userAccount[\OC\Accounts\AccountManager::PROPERTY_WEBSITE]['value'];
|
||||||
$data['twitter'] = $userAccount[\OC\Accounts\AccountManager::PROPERTY_TWITTER]['value'];
|
$data['twitter'] = $userAccount[\OC\Accounts\AccountManager::PROPERTY_TWITTER]['value'];
|
||||||
|
$data['groups'] = $gids;
|
||||||
|
|
||||||
return $data;
|
return $data;
|
||||||
}
|
}
|
||||||
|
|
|
@ -635,6 +635,9 @@ class UsersControllerTest extends OriginalTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testGetUserDataAsAdmin() {
|
public function testGetUserDataAsAdmin() {
|
||||||
|
$group = $this->getMockBuilder(IGroup::class)
|
||||||
|
->disableOriginalConstructor()
|
||||||
|
->getMock();
|
||||||
$loggedInUser = $this->getMockBuilder('OCP\IUser')
|
$loggedInUser = $this->getMockBuilder('OCP\IUser')
|
||||||
->disableOriginalConstructor()
|
->disableOriginalConstructor()
|
||||||
->getMock();
|
->getMock();
|
||||||
|
@ -662,6 +665,19 @@ class UsersControllerTest extends OriginalTest {
|
||||||
->method('isAdmin')
|
->method('isAdmin')
|
||||||
->with('admin')
|
->with('admin')
|
||||||
->will($this->returnValue(true));
|
->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')
|
$this->accountManager->expects($this->any())->method('getUser')
|
||||||
->with($targetUser)
|
->with($targetUser)
|
||||||
->willReturn(
|
->willReturn(
|
||||||
|
@ -700,7 +716,8 @@ class UsersControllerTest extends OriginalTest {
|
||||||
'phone' => 'phone',
|
'phone' => 'phone',
|
||||||
'address' => 'address',
|
'address' => 'address',
|
||||||
'webpage' => 'website',
|
'webpage' => 'website',
|
||||||
'twitter' => 'twitter'
|
'twitter' => 'twitter',
|
||||||
|
'groups' => ['group0', 'group1', 'group2']
|
||||||
];
|
];
|
||||||
$this->assertEquals($expected, $this->invokePrivate($this->api, 'getUserData', ['UserToGet']));
|
$this->assertEquals($expected, $this->invokePrivate($this->api, 'getUserData', ['UserToGet']));
|
||||||
}
|
}
|
||||||
|
@ -734,6 +751,10 @@ class UsersControllerTest extends OriginalTest {
|
||||||
->method('isAdmin')
|
->method('isAdmin')
|
||||||
->with('subadmin')
|
->with('subadmin')
|
||||||
->will($this->returnValue(false));
|
->will($this->returnValue(false));
|
||||||
|
$this->groupManager
|
||||||
|
->expects($this->any())
|
||||||
|
->method('getUserGroups')
|
||||||
|
->willReturn([]);
|
||||||
$subAdminManager = $this->getMockBuilder('OC\SubAdmin')
|
$subAdminManager = $this->getMockBuilder('OC\SubAdmin')
|
||||||
->disableOriginalConstructor()
|
->disableOriginalConstructor()
|
||||||
->getMock();
|
->getMock();
|
||||||
|
@ -784,7 +805,8 @@ class UsersControllerTest extends OriginalTest {
|
||||||
'phone' => 'phone',
|
'phone' => 'phone',
|
||||||
'address' => 'address',
|
'address' => 'address',
|
||||||
'webpage' => 'website',
|
'webpage' => 'website',
|
||||||
'twitter' => 'twitter'
|
'twitter' => 'twitter',
|
||||||
|
'groups' => []
|
||||||
];
|
];
|
||||||
$this->assertEquals($expected, $this->invokePrivate($this->api, 'getUserData', ['UserToGet']));
|
$this->assertEquals($expected, $this->invokePrivate($this->api, 'getUserData', ['UserToGet']));
|
||||||
}
|
}
|
||||||
|
@ -872,6 +894,10 @@ class UsersControllerTest extends OriginalTest {
|
||||||
->expects($this->once())
|
->expects($this->once())
|
||||||
->method('getSubAdmin')
|
->method('getSubAdmin')
|
||||||
->will($this->returnValue($subAdminManager));
|
->will($this->returnValue($subAdminManager));
|
||||||
|
$this->groupManager
|
||||||
|
->expects($this->any())
|
||||||
|
->method('getUserGroups')
|
||||||
|
->willReturn([]);
|
||||||
$this->api
|
$this->api
|
||||||
->expects($this->once())
|
->expects($this->once())
|
||||||
->method('fillStorageInfo')
|
->method('fillStorageInfo')
|
||||||
|
@ -908,7 +934,8 @@ class UsersControllerTest extends OriginalTest {
|
||||||
'phone' => 'phone',
|
'phone' => 'phone',
|
||||||
'address' => 'address',
|
'address' => 'address',
|
||||||
'webpage' => 'website',
|
'webpage' => 'website',
|
||||||
'twitter' => 'twitter'
|
'twitter' => 'twitter',
|
||||||
|
'groups' => []
|
||||||
];
|
];
|
||||||
$this->assertEquals($expected, $this->invokePrivate($this->api, 'getUserData', ['subadmin']));
|
$this->assertEquals($expected, $this->invokePrivate($this->api, 'getUserData', ['subadmin']));
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue