Check if password can be changed for the users backend in OCS api

Signed-off-by: Julius Härtl <jus@bitgrid.net>
pull/14542/head
Julius Härtl 2019-03-01 10:11:37 +07:00 committed by Backportbot
parent b88eb01798
commit 37ba2562cf
2 changed files with 7 additions and 0 deletions

@ -513,6 +513,9 @@ class UsersController extends AUserData {
break;
case 'password':
try {
if (!$targetUser->canChangePassword()) {
throw new OCSException('Setting the password is not supported by the users backend', 103);
}
$targetUser->setPassword($value);
} catch (HintException $e) { // password policy error
throw new OCSException($e->getMessage(), 103);

@ -1270,6 +1270,10 @@ class UsersControllerTest extends TestCase {
->method('get')
->with('UserToEdit')
->will($this->returnValue($targetUser));
$targetUser
->expects($this->once())
->method('canChangePassword')
->will($this->returnValue(true));
$targetUser
->expects($this->once())
->method('setPassword')