use of org.mifos.security.rolesandpermission.business.RoleBO in project head by mifos.
the class PersonnelDaoHibernate method findAuthenticatedUserByUsername.
@SuppressWarnings("unchecked")
@Override
public MifosUser findAuthenticatedUserByUsername(String username) {
PersonnelBO user = findPersonnelByUsername(username);
if (user == null) {
return null;
}
Set<Short> activityIds = new HashSet<Short>();
Set<Short> roleIds = new HashSet<Short>();
for (PersonnelRoleEntity personnelRole : user.getPersonnelRoles()) {
RoleBO role = personnelRole.getRole();
roleIds.add(role.getId());
activityIds.addAll(role.getActivityIds());
}
byte[] password = user.getEncryptedPassword();
boolean enabled = user.isActive();
boolean accountNonExpired = !user.isLocked();
boolean credentialsNonExpired = true;
boolean accountNonLocked = !user.isLocked();
List<GrantedAuthority> authorities = getGrantedActivityAuthorities(activityIds);
return new MifosUser(user.getPersonnelId(), user.getOffice().getOfficeId(), user.getLevelEnum().getValue(), new ArrayList<Short>(roleIds), username, password, enabled, accountNonExpired, credentialsNonExpired, accountNonLocked, authorities, user.getPreferredLocale());
}
use of org.mifos.security.rolesandpermission.business.RoleBO in project head by mifos.
the class PersonActionForm method updateRoleLists.
private void updateRoleLists(HttpServletRequest request) throws PageExpiredException {
boolean addFlag = false;
List<RoleBO> selectList = new ArrayList<RoleBO>();
if (personnelRoles != null) {
List<RoleBO> masterList = (List<RoleBO>) SessionUtils.getAttribute(PersonnelConstants.ROLEMASTERLIST, request);
if (masterList != null) {
for (RoleBO role : masterList) {
for (String roleId : personnelRoles) {
if (roleId != null && role.getId().intValue() == Integer.valueOf(roleId).intValue()) {
selectList.add(role);
addFlag = true;
}
}
}
}
}
if (addFlag) {
SessionUtils.setCollectionAttribute(PersonnelConstants.PERSONNEL_ROLES_LIST, selectList, request);
} else {
SessionUtils.setAttribute(PersonnelConstants.PERSONNEL_ROLES_LIST, null, request);
}
personnelRoles = null;
}
use of org.mifos.security.rolesandpermission.business.RoleBO in project head by mifos.
the class RolesPermissionServiceFacadeWebTier method deleteRole.
@Override
public void deleteRole(Integer versionNo, Short roleId) throws Exception {
RolesPermissionsBusinessService rolesPermissionsBusinessService = new RolesPermissionsBusinessService();
RoleBO role = rolesPermissionsBusinessService.getRole(roleId);
role.setVersionNo(versionNo);
validateIfRoleAssignedToPersonnel(role);
try {
StaticHibernateUtil.startTransaction();
legacyRolesPermissionsDao.delete(role);
StaticHibernateUtil.flushSession();
for (ActivityEntity ae : legacyRolesPermissionsDao.getActivities()) {
StaticHibernateUtil.getSessionTL().refresh(ae);
}
StaticHibernateUtil.commitTransaction();
} catch (PersistenceException e) {
StaticHibernateUtil.rollbackTransaction();
throw new MifosRuntimeException(e);
} finally {
StaticHibernateUtil.closeSession();
}
}
use of org.mifos.security.rolesandpermission.business.RoleBO in project head by mifos.
the class RolesPermissionServiceFacadeWebTier method hasUserAccessForActivity.
@Override
public boolean hasUserAccessForActivity(Short activityID) throws Exception {
boolean result = false;
MifosUser mifosUser = (MifosUser) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
try {
for (Short roleId : mifosUser.getRoleIds()) {
RoleBO role = legacyRolesPermissionsDao.getRole(roleId);
if (role.getActivityIds().contains(activityID) || null == activityID) {
result = true;
break;
}
}
} catch (PersistenceException e) {
throw new RolesPermissionException(e);
}
return result;
}
use of org.mifos.security.rolesandpermission.business.RoleBO in project head by mifos.
the class LegacyRolesPermissionsDao method createActivityForReports.
public int createActivityForReports(short parentActivity, String lookUpDescription) throws HibernateException, PersistenceException, ServiceException, ActivityGeneratorException {
StaticHibernateUtil.startTransaction();
int lookUpId = createLookUpValue(DynamicLookUpValueCreationTypes.BirtReport, lookUpDescription);
insertLookUpValueLocale(lookUpId, lookUpDescription);
ActivityEntity activityEntity = createActivityEntity(parentActivity, lookUpId);
RoleBO role = getPersistentObject(RoleBO.class, RolesAndPermissionConstants.ADMIN_ROLE);
role.getActivities().add(activityEntity);
StaticHibernateUtil.commitTransaction();
return lookUpId;
}
Aggregations