From 960c9f386dd878ff7566b9e33b1192fd2b5e0691 Mon Sep 17 00:00:00 2001
From: Joas Schilling <nickvergessen@owncloud.com>
Date: Thu, 5 Nov 2015 17:01:47 +0100
Subject: [PATCH] Revert OCS error code change from #20135

---
 apps/provisioning_api/lib/users.php       |  7 ++++++-
 apps/provisioning_api/tests/userstest.php | 12 +++++++++++-
 2 files changed, 17 insertions(+), 2 deletions(-)

diff --git a/apps/provisioning_api/lib/users.php b/apps/provisioning_api/lib/users.php
index a9fafb4891..304fe901cf 100644
--- a/apps/provisioning_api/lib/users.php
+++ b/apps/provisioning_api/lib/users.php
@@ -388,11 +388,16 @@ class Users {
 			return new OC_OCS_Result(null, \OCP\API::RESPOND_UNAUTHORISED);
 		}
 
-		$group = $this->groupManager->get(!empty($parameters['_delete']['groupid']) ? $parameters['_delete']['groupid'] : null);
+		$group = !empty($parameters['_delete']['groupid']) ? $parameters['_delete']['groupid'] : null;
 		if($group === null) {
 			return new OC_OCS_Result(null, 101);
 		}
 
+		$group = $this->groupManager->get($group);
+		if($group === null) {
+			return new OC_OCS_Result(null, 102);
+		}
+
 		$targetUser = $this->userManager->get($parameters['userid']);
 		if($targetUser === null) {
 			return new OC_OCS_Result(null, 103);
diff --git a/apps/provisioning_api/tests/userstest.php b/apps/provisioning_api/tests/userstest.php
index c5a1ac3061..ba4ed8a2e2 100644
--- a/apps/provisioning_api/tests/userstest.php
+++ b/apps/provisioning_api/tests/userstest.php
@@ -1357,6 +1357,16 @@ class UsersTest extends OriginalTest {
 		$this->assertEquals($expected, $this->api->removeFromGroup(['userid' => 'TargetUser', '_delete' => ['groupid' => 'TargetGroup']]));
 	}
 
+	public function testRemoveFromGroupWithNoTargetGroup() {
+		$loggedInUser = $this->getMock('\OCP\IUser');
+		$this->userSession
+			->expects($this->once())
+			->method('getUser')
+			->will($this->returnValue($loggedInUser));
+		$expected = new \OC_OCS_Result(null, 101);
+		$this->assertEquals($expected, $this->api->removeFromGroup(['userid' => 'TargetUser', '_delete' => []]));
+	}
+
 	public function testRemoveFromGroupWithNotExistingTargetGroup() {
 		$loggedInUser = $this->getMock('\OCP\IUser');
 		$this->userSession
@@ -1369,7 +1379,7 @@ class UsersTest extends OriginalTest {
 			->with('TargetGroup')
 			->will($this->returnValue(null));
 
-		$expected = new \OC_OCS_Result(null, 101);
+		$expected = new \OC_OCS_Result(null, 102);
 		$this->assertEquals($expected, $this->api->removeFromGroup(['userid' => 'TargetUser', '_delete' => ['groupid' => 'TargetGroup']]));
 	}
 
-- 
GitLab