private function addUserToGroup() { $group_id = $this->request->get('id'); $user = $this->request->get('user'); if ($user) { $user = $this->getUserManager()->findUser($user); } if ($group_id && $user) { try { $user_group = $this->user_group_factory->getForgeUserGroupById($group_id); $this->user_group_users_manager->addUserToForgeUserGroup($user, $user_group); } catch (User_UserGroupNotFoundException $e) { $GLOBALS['Response']->addFeedback('error', $GLOBALS['Language']->getText('admin_permission_delegation', 'ugroup_not_found')); } } $this->redirect($group_id); }
public function delegatePermissionsToManageUser() { $user = $this->user_manager->getUserById(self::TEST_USER_3_ID); // Create group $user_group_dao = new UserGroupDao(); $user_group_factory = new User_ForgeUserGroupFactory($user_group_dao); $user_group = $user_group_factory->createForgeUGroup('site remote admins', ''); // Grant Retrieve Membership permissions $permission = new User_ForgeUserGroupPermission_UserManagement(); $permissions_dao = new User_ForgeUserGroupPermissionsDao(); $user_group_permissions_manager = new User_ForgeUserGroupPermissionsManager($permissions_dao); $user_group_permissions_manager->addPermission($user_group, $permission); // Add user to group $user_group_users_dao = new User_ForgeUserGroupUsersDao(); $user_group_users_manager = new User_ForgeUserGroupUsersManager($user_group_users_dao); $user_group_users_manager->addUserToForgeUserGroup($user, $user_group); return $this; }