/** * Remove User from User Group * * * Error codes: * * 3000, Invalid project id * * 3201, Permission denied: need to be project admin * * 3203, Invalid user id * * 3301, User Group doesn't exist * * @param String $sessionKey The project admin session hash * @param Integer $groupId The Project id where the User Group is defined * @param Integer $ugroupId The User Group where the user should be removed * @param Integer $userId The user id to remove * * @return Boolean */ public function removeUserFromUGroup($sessionKey, $groupId, $ugroupId, $userId) { $this->getProjectIfUserIsAdmin($groupId, $sessionKey); if ($user = $this->userManager->getUserById($userId)) { try { $ugroup = new ProjectUGroup(array('ugroup_id' => $ugroupId, 'group_id' => $groupId)); $ugroup->removeUser($user); } catch (Exception $e) { throw new SoapFault((string) $e->getCode(), $e->getMessage()); } $this->feedbackToSoapFault(); return true; } else { throw new SoapFault('3203', "Invalid user id {$userId}"); } }
function itThrowAnExceptionIfUserIsNotValid() { $group_id = 300; $ugroup_id = 200; $ugroup = new ProjectUGroup(array('group_id' => $group_id, 'ugroup_id' => $ugroup_id)); $this->expectException(); $user = anAnonymousUser()->build(); $ugroup->removeUser($user); }
private function removeUserFromUserGroup(ProjectUGroup $user_group, PFUser $user) { if ($user_group->getId() == ProjectUGroup::PROJECT_MEMBERS) { return account_remove_user_from_group($user_group->getProjectId(), $user->getId()); } return $user_group->removeUser($user); }