From 99e212ec92f612d287842c1bf496ef7ba8590cce Mon Sep 17 00:00:00 2001 From: axman Date: Tue, 2 Feb 2021 13:41:20 -0700 Subject: [PATCH] fix remove group showing error --- Lib/GrouperApiAccess.php | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/Lib/GrouperApiAccess.php b/Lib/GrouperApiAccess.php index c603f01..b529462 100644 --- a/Lib/GrouperApiAccess.php +++ b/Lib/GrouperApiAccess.php @@ -163,8 +163,12 @@ public function grouperGroupLeaveOrJoin(array $queryData) { if ($groupLeaveOrJoin == "Leave") { $memberRequest = "WsRestDeleteMemberRequest"; + $resultResponse = 'WsDeleteMemberResults'; + $resultGroup = 'wsGroup'; } elseif ($groupLeaveOrJoin == "Join") { $memberRequest = "WsRestAddMemberRequest"; + $resultResponse = 'WsAddMemberResults'; + $resultGroup = 'wsGroupAssigned'; } else { CakeLog::write('error', "GrouperLite API - grouperGroupLeaveOrJoin: Option of $groupLeaveOrJoin is not supported"); @@ -172,7 +176,7 @@ public function grouperGroupLeaveOrJoin(array $queryData) { } //Build request logic - $groupToLeave = array( + $groupCommand = array( $memberRequest => array( "actAsSubjectLookup" => array( "subjectId" => $userId @@ -187,10 +191,10 @@ public function grouperGroupLeaveOrJoin(array $queryData) { $connectionUrl = "{$this->config['fullUrl']}/groups/{$groupName}/members"; try { - $results = $this->http->sendRequest('PUT', $connectionUrl, json_encode($groupToLeave)); + $results = $this->http->sendRequest('PUT', $connectionUrl, json_encode($groupCommand)); - if (isset($results['WsAddMemberResults']['wsGroupAssigned']) && $results['WsAddMemberResults']['wsGroupAssigned'] != NULL) { - $groupAssigned = $results['WsAddMemberResults']['wsGroupAssigned']['name']; + if (isset($results[$resultResponse][$resultGroup]) && $results[$resultResponse][$resultGroup] != NULL) { + $groupAssigned = $results[$resultResponse][$resultGroup]['name']; if ($groupAssigned == urldecode($groupName)) { return true; }