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);
}
}
}
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();
}
}
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();
}
}
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();
}
}
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]);
}
Aggregations