private function getWriteUGroups(Project $project) { $user_groups = $this->user_group_factory->getAllForProject($project); $write_ugroups = array(); $selected_ugroups = $this->manager->getWriteAccessControl($project); foreach ($user_groups as $ugroup) { $write_ugroups[] = array('label' => $ugroup->getName(), 'value' => $ugroup->getId(), 'selected' => in_array($ugroup->getId(), $selected_ugroups)); } return $write_ugroups; }
private function getOptions(Project $project, $permission) { $user_groups = $this->user_group_factory->getAllForProject($project); $options = array(); $selected_values = $this->permissions_manager->getAuthorizedUGroupIdsForProject($project, $this->repository->getId(), $permission); foreach ($user_groups as $ugroup) { if ($ugroup->getId() == ProjectUGroup::ANONYMOUS && $permission !== Git::PERM_READ) { continue; } $selected = in_array($ugroup->getId(), $selected_values) ? 'selected="selected"' : ''; $options[] = array('value' => $ugroup->getId(), 'label' => $ugroup->getName(), 'selected' => $selected); } return $options; }
private function removeUsersFromGroup() { $group_id = $this->request->get('id'); $user_ids = $this->request->get('user-ids'); if ($group_id) { try { $user_group = $this->user_group_factory->getForgeUserGroupById($group_id); $this->removeUsers($user_group, $user_ids); } 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; }