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);
 }
Example #4
0
 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;
 }