Search in sources :

Example 16 with Role

use of com.haulmont.cuba.security.entity.Role in project cuba by cuba-platform.

the class UserEntityListener method addDefaultRoles.

protected void addDefaultRoles(User user, EntityManager entityManager) {
    List<Role> defaultRoles = entityManager.createQuery("select r from sec$Role r where r.defaultRole = true", Role.class).getResultList();
    if (user.getUserRoles() == null)
        user.setUserRoles(new ArrayList<>());
    for (Role defaultRole : defaultRoles) {
        if (user.getUserRoles().stream().noneMatch(userRole -> userRole.getRole().equals(defaultRole))) {
            UserRole userRole = metadata.create(UserRole.class);
            userRole.setUser(user);
            userRole.setRole(defaultRole);
            entityManager.persist(userRole);
            user.getUserRoles().add(userRole);
        }
    }
}
Also used : Role(com.haulmont.cuba.security.entity.Role) UserRole(com.haulmont.cuba.security.entity.UserRole) UserRole(com.haulmont.cuba.security.entity.UserRole) ArrayList(java.util.ArrayList)

Example 17 with Role

use of com.haulmont.cuba.security.entity.Role in project cuba by cuba-platform.

the class UpdateDetachedTest method setUp.

@Before
public void setUp() throws Exception {
    Transaction tx = cont.persistence().createTransaction();
    try {
        EntityManager em = cont.persistence().getEntityManager();
        Role role = new Role();
        roleId = role.getId();
        role.setName("testRole");
        em.persist(role);
        Role role2 = new Role();
        role2Id = role2.getId();
        role2.setName("testRole2");
        em.persist(role2);
        Permission permission = new Permission();
        permissionId = permission.getId();
        permission.setRole(role);
        permission.setType(PermissionType.SCREEN);
        permission.setTarget("testTarget");
        em.persist(permission);
        tx.commit();
    } finally {
        tx.end();
    }
}
Also used : Role(com.haulmont.cuba.security.entity.Role) Permission(com.haulmont.cuba.security.entity.Permission) Before(org.junit.Before)

Example 18 with Role

use of com.haulmont.cuba.security.entity.Role in project cuba by cuba-platform.

the class RelationsTest method testRole.

@Test
public void testRole() {
    UUID roleId = createRole();
    Transaction tx = cont.persistence().createTransaction();
    try {
        EntityManager em = cont.persistence().getEntityManager();
        Role role = em.find(Role.class, roleId);
        em.remove(role);
        tx.commit();
    } finally {
        tx.end();
    }
}
Also used : Role(com.haulmont.cuba.security.entity.Role) UserRole(com.haulmont.cuba.security.entity.UserRole) EntityManager(com.haulmont.cuba.core.EntityManager) Transaction(com.haulmont.cuba.core.Transaction) UUID(java.util.UUID) Test(org.junit.Test)

Example 19 with Role

use of com.haulmont.cuba.security.entity.Role in project cuba by cuba-platform.

the class UserRoleTest method test.

@Test
public void test() {
    Transaction tx = cont.persistence().createTransaction();
    try {
        EntityManager em = cont.persistence().getEntityManager();
        Role role = new Role();
        role.setName("testRole1");
        em.persist(role);
        Group group = new Group();
        group.setName("testGroup1");
        em.persist(group);
        User user = new User();
        UUID userId = user.getId();
        user.setLogin("testUser1");
        user.setName("Test User 1");
        user.setGroup(group);
        em.persist(user);
        UserRole userRole = new UserRole();
        userRole.setUser(user);
        userRole.setRole(role);
        em.persist(userRole);
        tx.commitRetaining();
        em = cont.persistence().getEntityManager();
        user = em.find(User.class, userId);
        List<UserRole> userRoles = user.getUserRoles();
        assertEquals(1, userRoles.size());
        for (UserRole ur : userRoles) {
            Role r = ur.getRole();
            assertEquals(role.getName(), r.getName());
        }
    } finally {
        tx.end();
    }
}
Also used : Role(com.haulmont.cuba.security.entity.Role) UserRole(com.haulmont.cuba.security.entity.UserRole) Group(com.haulmont.cuba.security.entity.Group) EntityManager(com.haulmont.cuba.core.EntityManager) User(com.haulmont.cuba.security.entity.User) Transaction(com.haulmont.cuba.core.Transaction) UserRole(com.haulmont.cuba.security.entity.UserRole) UUID(java.util.UUID) Test(org.junit.Test)

Example 20 with Role

use of com.haulmont.cuba.security.entity.Role in project cuba by cuba-platform.

the class OptionsGroupDsTest method testValueChangeListener.

@Test
public void testValueChangeListener() {
    OptionsGroup optionsGroup = (OptionsGroup) factory.createComponent(OptionsGroup.NAME);
    // listener before datasource
    boolean[] valueWasChanged = { false };
    Component.ValueChangeListener listener = e -> valueWasChanged[0] = true;
    optionsGroup.addValueChangeListener(listener);
    Datasource<Role> roleDs = getTestRoleDatasource();
    roleDs.getItem().setType(RoleType.READONLY);
    optionsGroup.setDatasource(roleDs, "type");
    assertTrue(valueWasChanged[0]);
    // reset state
    valueWasChanged[0] = false;
    optionsGroup.removeValueChangeListener(listener);
    optionsGroup.setDatasource(null, null);
    // datasource before listener
    optionsGroup.setDatasource(roleDs, "type");
    optionsGroup.addValueChangeListener(listener);
    roleDs.getItem().setType(RoleType.DENYING);
    assertTrue(valueWasChanged[0]);
}
Also used : OptionsGroup(com.haulmont.cuba.gui.components.OptionsGroup) Datasource(com.haulmont.cuba.gui.data.Datasource) Ignore(org.junit.Ignore) Role(com.haulmont.cuba.security.entity.Role) Test(org.junit.Test) Assert(org.junit.Assert) Component(com.haulmont.cuba.gui.components.Component) RoleType(com.haulmont.cuba.security.entity.RoleType) Role(com.haulmont.cuba.security.entity.Role) OptionsGroup(com.haulmont.cuba.gui.components.OptionsGroup) Component(com.haulmont.cuba.gui.components.Component) Test(org.junit.Test)

Aggregations

Role (com.haulmont.cuba.security.entity.Role)29 Test (org.junit.Test)18 Datasource (com.haulmont.cuba.gui.data.Datasource)12 Component (com.haulmont.cuba.gui.components.Component)10 RoleType (com.haulmont.cuba.security.entity.RoleType)10 Assert (org.junit.Assert)10 Ignore (org.junit.Ignore)10 User (com.haulmont.cuba.security.entity.User)9 UserRole (com.haulmont.cuba.security.entity.UserRole)9 OptionsGroup (com.haulmont.cuba.gui.components.OptionsGroup)7 OptionsList (com.haulmont.cuba.gui.components.OptionsList)6 Group (com.haulmont.cuba.security.entity.Group)6 TestCase.assertEquals (junit.framework.TestCase.assertEquals)5 Assert.assertTrue (org.junit.Assert.assertTrue)5 EntityManager (com.haulmont.cuba.core.EntityManager)4 Transaction (com.haulmont.cuba.core.Transaction)4 Permission (com.haulmont.cuba.security.entity.Permission)4 Before (org.junit.Before)4 UUID (java.util.UUID)3 View (com.haulmont.cuba.core.global.View)2