Search in sources :

Example 6 with AdElementListModel

use of org.ovirt.engine.ui.uicommonweb.models.users.AdElementListModel in project ovirt-engine by oVirt.

the class QuotaUserListModel method onAdd.

public void onAdd() {
    AdElementListModel model = (AdElementListModel) getWindow();
    if (model.getProgress() != null) {
        return;
    }
    if (model.getSelectedItems() == null && model.getSearchType() != AdSearchType.EVERYONE) {
        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());
            }
        }
    }
    model.startProgress();
    ArrayList<ActionParametersBase> list = new ArrayList<>();
    PermissionsOperationsParameters permissionParams;
    for (DbUser user : items) {
        Permission perm = new Permission(user.getId(), ApplicationGuids.quotaConsumer.asGuid(), getEntity().getId(), VdcObjectType.Quota);
        permissionParams = new PermissionsOperationsParameters();
        if (user.isGroup()) {
            DbGroup group = new DbGroup();
            group.setId(user.getId());
            group.setExternalId(user.getExternalId());
            group.setName(user.getFirstName());
            group.setDomain(user.getDomain());
            permissionParams.setGroup(group);
        } else {
            permissionParams.setUser(user);
        }
        permissionParams.setPermission(perm);
        list.add(permissionParams);
    }
    Frontend.getInstance().runMultipleAction(ActionType.AddPermission, list, result -> {
        QuotaUserListModel localModel = (QuotaUserListModel) result.getState();
        localModel.stopProgress();
        cancel();
    }, model);
    cancel();
}
Also used : 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)

Aggregations

AdElementListModel (org.ovirt.engine.ui.uicommonweb.models.users.AdElementListModel)6 ArrayList (java.util.ArrayList)3 ActionParametersBase (org.ovirt.engine.core.common.action.ActionParametersBase)3 PermissionsOperationsParameters (org.ovirt.engine.core.common.action.PermissionsOperationsParameters)3 Permission (org.ovirt.engine.core.common.businessentities.Permission)3 DbGroup (org.ovirt.engine.core.common.businessentities.aaa.DbGroup)3 DbUser (org.ovirt.engine.core.common.businessentities.aaa.DbUser)3 UICommand (org.ovirt.engine.ui.uicommonweb.UICommand)3 EntityModel (org.ovirt.engine.ui.uicommonweb.models.EntityModel)3 Role (org.ovirt.engine.core.common.businessentities.Role)2