Search in sources :

Example 16 with Role

use of org.ovirt.engine.core.common.businessentities.Role in project ovirt-engine by oVirt.

the class EntityDaoImplTest method testGetEntityNameByIdAndTypeForRole.

@Test
public void testGetEntityNameByIdAndTypeForRole() {
    Role role = roleDao.get(ROLE_ID);
    assertNotNull(role);
    String name = role.getName();
    assertEquals(name, underTest.getEntityNameByIdAndType(ROLE_ID, VdcObjectType.Role));
}
Also used : Role(org.ovirt.engine.core.common.businessentities.Role) Test(org.junit.Test)

Example 17 with Role

use of org.ovirt.engine.core.common.businessentities.Role in project ovirt-engine by oVirt.

the class RoleDaoTest method testGetRoleByName.

/**
 * Ensures that retrieving a role by name works as expected.
 */
@Test
public void testGetRoleByName() {
    Role result = dao.getByName(existingEntity.getName());
    assertNotNull(result);
    assertEquals(existingEntity, result);
}
Also used : Role(org.ovirt.engine.core.common.businessentities.Role) Test(org.junit.Test)

Example 18 with Role

use of org.ovirt.engine.core.common.businessentities.Role in project ovirt-engine by oVirt.

the class PermissionListModel method onAdd.

private void onAdd() {
    AdElementListModel model = (AdElementListModel) getWindow();
    if (model.getProgress() != null) {
        return;
    }
    if (model.getSearchType() != AdSearchType.EVERYONE && model.getSelectedItems() == null) {
        cancel();
        return;
    }
    ArrayList<DbUser> items = new ArrayList<>();
    if (model.getSearchType() == AdSearchType.EVERYONE) {
        DbUser tempVar = new DbUser();
        tempVar.setId(ApplicationGuids.everyone.asGuid());
        items.add(tempVar);
    } else {
        for (Object item : model.getItems()) {
            EntityModel entityModel = (EntityModel) item;
            if (entityModel.getIsSelected()) {
                items.add((DbUser) entityModel.getEntity());
            }
        }
    }
    Role role = model.getRole().getSelectedItem();
    // adGroup/user
    ArrayList<ActionParametersBase> list = new ArrayList<>();
    for (DbUser user : items) {
        Permission perm = new Permission(user.getId(), role.getId(), getEntityGuid(), getObjectType());
        if (user.isGroup()) {
            DbGroup group = new DbGroup();
            group.setId(user.getId());
            group.setExternalId(user.getExternalId());
            group.setName(user.getFirstName());
            group.setDomain(user.getDomain());
            group.setNamespace(user.getNamespace());
            PermissionsOperationsParameters tempVar3 = new PermissionsOperationsParameters();
            tempVar3.setPermission(perm);
            tempVar3.setGroup(group);
            list.add(tempVar3);
        } else {
            PermissionsOperationsParameters tempVar4 = new PermissionsOperationsParameters();
            tempVar4.setPermission(perm);
            tempVar4.setUser(user);
            list.add(tempVar4);
        }
    }
    model.startProgress();
    Frontend.getInstance().runMultipleAction(ActionType.AddPermission, list, result -> {
        AdElementListModel localModel = (AdElementListModel) result.getState();
        localModel.stopProgress();
        cancel();
    }, model);
}
Also used : Role(org.ovirt.engine.core.common.businessentities.Role) DbGroup(org.ovirt.engine.core.common.businessentities.aaa.DbGroup) PermissionsOperationsParameters(org.ovirt.engine.core.common.action.PermissionsOperationsParameters) ArrayList(java.util.ArrayList) EntityModel(org.ovirt.engine.ui.uicommonweb.models.EntityModel) Permission(org.ovirt.engine.core.common.businessentities.Permission) AdElementListModel(org.ovirt.engine.ui.uicommonweb.models.users.AdElementListModel) ActionParametersBase(org.ovirt.engine.core.common.action.ActionParametersBase) DbUser(org.ovirt.engine.core.common.businessentities.aaa.DbUser)

Example 19 with Role

use of org.ovirt.engine.core.common.businessentities.Role in project ovirt-engine by oVirt.

the class SystemPermissionListModel method onAttach.

private void onAttach() {
    AdElementListModel model = (AdElementListModel) getWindow();
    if (model.getProgress() != null) {
        return;
    }
    if (model.getSelectedItems() == null) {
        cancel();
        return;
    }
    ArrayList<DbUser> items = new ArrayList<>();
    for (Object item : model.getItems()) {
        EntityModel entityModel = (EntityModel) item;
        if (entityModel.getIsSelected()) {
            items.add((DbUser) entityModel.getEntity());
        }
    }
    Role role = model.getRole().getSelectedItem();
    ArrayList<ActionParametersBase> list = new ArrayList<>();
    for (DbUser user : items) {
        Permission perm = new Permission(user.getId(), role.getId(), null, null);
        if (user.isGroup()) {
            DbGroup group = new DbGroup();
            group.setId(user.getId());
            group.setName(user.getFirstName());
            group.setDomain(user.getDomain());
            group.setExternalId(user.getExternalId());
            group.setNamespace(user.getNamespace());
            PermissionsOperationsParameters tempVar2 = new PermissionsOperationsParameters();
            tempVar2.setPermission(perm);
            tempVar2.setGroup(group);
            list.add(tempVar2);
        } else {
            PermissionsOperationsParameters tempVar3 = new PermissionsOperationsParameters();
            tempVar3.setPermission(perm);
            tempVar3.setUser(user);
            list.add(tempVar3);
        }
    }
    model.startProgress();
    Frontend.getInstance().runMultipleAction(ActionType.AddSystemPermission, list, result -> {
        AdElementListModel localModel = (AdElementListModel) result.getState();
        localModel.stopProgress();
        cancel();
    }, model);
}
Also used : Role(org.ovirt.engine.core.common.businessentities.Role) DbGroup(org.ovirt.engine.core.common.businessentities.aaa.DbGroup) PermissionsOperationsParameters(org.ovirt.engine.core.common.action.PermissionsOperationsParameters) ArrayList(java.util.ArrayList) EntityModel(org.ovirt.engine.ui.uicommonweb.models.EntityModel) Permission(org.ovirt.engine.core.common.businessentities.Permission) AdElementListModel(org.ovirt.engine.ui.uicommonweb.models.users.AdElementListModel) ActionParametersBase(org.ovirt.engine.core.common.action.ActionParametersBase) DbUser(org.ovirt.engine.core.common.businessentities.aaa.DbUser)

Example 20 with Role

use of org.ovirt.engine.core.common.businessentities.Role in project ovirt-engine by oVirt.

the class RoleListModel method onSave.

public void onSave() {
    RoleModel model = (RoleModel) getWindow();
    if (model.getProgress() != null) {
        return;
    }
    role = commandType != CommandType.Edit ? new Role() : getSelectedItem();
    role.setType(model.getIsAdminRole().getEntity() ? RoleType.ADMIN : RoleType.USER);
    if (!model.validate()) {
        return;
    }
    role.setName(model.getName().getEntity());
    role.setDescription(model.getDescription().getEntity());
    ArrayList<ActionGroup> actions = new ArrayList<>();
    HashMap<ActionGroup, ActionGroup> actionDistinctSet = new HashMap<>();
    for (SelectionTreeNodeModel sm : model.getPermissionGroupModels()) {
        for (SelectionTreeNodeModel smChild : sm.getChildren()) {
            if (smChild.getIsSelectedNullable() == null || smChild.getIsSelectedNullable()) {
                for (SelectionTreeNodeModel smGrandChild : smChild.getChildren()) {
                    if (smGrandChild.getIsSelectedNullable()) {
                        ActionGroup actionGroup = ActionGroup.valueOf(smGrandChild.getTitle());
                        if (actionDistinctSet.containsKey(actionGroup)) {
                            continue;
                        }
                        actionDistinctSet.put(actionGroup, actionGroup);
                        actions.add(actionGroup);
                    }
                }
            }
        }
    }
    ActionReturnValue returnValue;
    model.startProgress();
    if (commandType != CommandType.Edit) {
        // Add a new role.
        RoleWithActionGroupsParameters tempVar = new RoleWithActionGroupsParameters();
        tempVar.setRole(role);
        tempVar.setActionGroups(actions);
        Frontend.getInstance().runAction(ActionType.AddRoleWithActionGroups, tempVar, result -> {
            RoleListModel localModel = (RoleListModel) result.getState();
            localModel.postOnSaveNew(result.getReturnValue());
        }, this);
    } else {
        detachActionGroup = new ArrayList<>(publicAttachedActions);
        detachActionGroup.removeAll(actions);
        attachActionGroup = actions;
        attachActionGroup.removeAll(publicAttachedActions);
        Frontend.getInstance().runAction(ActionType.UpdateRole, new RolesOperationsParameters(role), result -> {
            RoleListModel roleListModel = (RoleListModel) result.getState();
            ActionReturnValue retVal = result.getReturnValue();
            if (retVal != null && retVal.getSucceeded()) {
                if (roleListModel.detachActionGroup.size() > 0) {
                    ActionGroupsToRoleParameter tempVar2 = new ActionGroupsToRoleParameter();
                    tempVar2.setActionGroups(roleListModel.detachActionGroup);
                    tempVar2.setRoleId(roleListModel.role.getId());
                    Frontend.getInstance().runAction(ActionType.DetachActionGroupsFromRole, tempVar2);
                }
                if (roleListModel.attachActionGroup.size() > 0) {
                    ActionGroupsToRoleParameter tempVar3 = new ActionGroupsToRoleParameter();
                    tempVar3.setActionGroups(roleListModel.attachActionGroup);
                    tempVar3.setRoleId(roleListModel.role.getId());
                    Frontend.getInstance().runAction(ActionType.AttachActionGroupsToRole, tempVar3);
                }
                roleListModel.getWindow().stopProgress();
                roleListModel.cancel();
            } else {
                roleListModel.getWindow().stopProgress();
            }
        }, this);
    }
}
Also used : SelectionTreeNodeModel(org.ovirt.engine.ui.uicommonweb.models.common.SelectionTreeNodeModel) ActionGroupsToRoleParameter(org.ovirt.engine.core.common.action.ActionGroupsToRoleParameter) HashMap(java.util.HashMap) ArrayList(java.util.ArrayList) Role(org.ovirt.engine.core.common.businessentities.Role) ActionGroup(org.ovirt.engine.core.common.businessentities.ActionGroup) ActionReturnValue(org.ovirt.engine.core.common.action.ActionReturnValue) RoleWithActionGroupsParameters(org.ovirt.engine.core.common.action.RoleWithActionGroupsParameters) RolesOperationsParameters(org.ovirt.engine.core.common.action.RolesOperationsParameters)

Aggregations

Role (org.ovirt.engine.core.common.businessentities.Role)28 ArrayList (java.util.ArrayList)8 ActionGroup (org.ovirt.engine.core.common.businessentities.ActionGroup)7 HashMap (java.util.HashMap)4 Test (org.junit.Test)4 Permission (org.ovirt.engine.core.common.businessentities.Permission)4 SelectionTreeNodeModel (org.ovirt.engine.ui.uicommonweb.models.common.SelectionTreeNodeModel)4 ActionGroupsToRoleParameter (org.ovirt.engine.core.common.action.ActionGroupsToRoleParameter)3 ActionParametersBase (org.ovirt.engine.core.common.action.ActionParametersBase)3 ActionReturnValue (org.ovirt.engine.core.common.action.ActionReturnValue)3 PermissionsOperationsParameters (org.ovirt.engine.core.common.action.PermissionsOperationsParameters)3 RoleWithActionGroupsParameters (org.ovirt.engine.core.common.action.RoleWithActionGroupsParameters)3 RolesOperationsParameters (org.ovirt.engine.core.common.action.RolesOperationsParameters)3 RolesParameterBase (org.ovirt.engine.core.common.action.RolesParameterBase)3 DbGroup (org.ovirt.engine.core.common.businessentities.aaa.DbGroup)3 DbUser (org.ovirt.engine.core.common.businessentities.aaa.DbUser)3 NameableComparator (org.ovirt.engine.core.common.businessentities.comparators.NameableComparator)3 UICommand (org.ovirt.engine.ui.uicommonweb.UICommand)3 ConfirmationModel (org.ovirt.engine.ui.uicommonweb.models.ConfirmationModel)3 Inject (com.google.inject.Inject)2