diff options
author | Julius Härtl <jus@bitgrid.net> | 2019-03-01 10:11:37 +0100 |
---|---|---|
committer | Roeland Jago Douma <roeland@famdouma.nl> | 2019-03-05 13:44:25 +0100 |
commit | add43bc19c2e7681668e6bc24b06d96e0ae8bd70 (patch) | |
tree | 8ca1214827e4917c6ef361e78646554c19763f7b | |
parent | c91ae1133e727156a63a8fe1bdc3ad0f05f4851a (diff) | |
download | nextcloud-server-add43bc19c2e7681668e6bc24b06d96e0ae8bd70.tar.gz nextcloud-server-add43bc19c2e7681668e6bc24b06d96e0ae8bd70.zip |
Check if password can be changed for the users backend in OCS api
Signed-off-by: Julius Härtl <jus@bitgrid.net>
-rw-r--r-- | apps/provisioning_api/lib/Controller/UsersController.php | 3 | ||||
-rw-r--r-- | apps/provisioning_api/tests/Controller/UsersControllerTest.php | 4 |
2 files changed, 7 insertions, 0 deletions
diff --git a/apps/provisioning_api/lib/Controller/UsersController.php b/apps/provisioning_api/lib/Controller/UsersController.php index a034ff6d77a..c7625a26f59 100644 --- a/apps/provisioning_api/lib/Controller/UsersController.php +++ b/apps/provisioning_api/lib/Controller/UsersController.php @@ -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); diff --git a/apps/provisioning_api/tests/Controller/UsersControllerTest.php b/apps/provisioning_api/tests/Controller/UsersControllerTest.php index fcdc68d353b..c6e0082c4b0 100644 --- a/apps/provisioning_api/tests/Controller/UsersControllerTest.php +++ b/apps/provisioning_api/tests/Controller/UsersControllerTest.php @@ -1272,6 +1272,10 @@ class UsersControllerTest extends TestCase { ->will($this->returnValue($targetUser)); $targetUser ->expects($this->once()) + ->method('canChangePassword') + ->will($this->returnValue(true)); + $targetUser + ->expects($this->once()) ->method('setPassword') ->with('NewPassword'); $targetUser |