Search in sources :

Example 1 with RoleBO

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());
}
Also used : PersonnelBO(org.mifos.customers.personnel.business.PersonnelBO) PersonnelRoleEntity(org.mifos.customers.personnel.business.PersonnelRoleEntity) GrantedAuthority(org.springframework.security.core.GrantedAuthority) MifosUser(org.mifos.security.MifosUser) HashSet(java.util.HashSet) RoleBO(org.mifos.security.rolesandpermission.business.RoleBO)

Example 2 with RoleBO

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;
}
Also used : ArrayList(java.util.ArrayList) ArrayList(java.util.ArrayList) List(java.util.List) RoleBO(org.mifos.security.rolesandpermission.business.RoleBO)

Example 3 with RoleBO

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();
    }
}
Also used : RolesPermissionsBusinessService(org.mifos.security.rolesandpermission.business.service.RolesPermissionsBusinessService) ActivityEntity(org.mifos.security.rolesandpermission.business.ActivityEntity) PersistenceException(org.mifos.framework.exceptions.PersistenceException) RoleBO(org.mifos.security.rolesandpermission.business.RoleBO) MifosRuntimeException(org.mifos.core.MifosRuntimeException)

Example 4 with RoleBO

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;
}
Also used : PersistenceException(org.mifos.framework.exceptions.PersistenceException) MifosUser(org.mifos.security.MifosUser) RolesPermissionException(org.mifos.security.rolesandpermission.exceptions.RolesPermissionException) RoleBO(org.mifos.security.rolesandpermission.business.RoleBO)

Example 5 with RoleBO

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;
}
Also used : ActivityEntity(org.mifos.security.rolesandpermission.business.ActivityEntity) RoleBO(org.mifos.security.rolesandpermission.business.RoleBO)

Aggregations

RoleBO (org.mifos.security.rolesandpermission.business.RoleBO)30 ArrayList (java.util.ArrayList)13 PersistenceException (org.mifos.framework.exceptions.PersistenceException)11 MifosRuntimeException (org.mifos.core.MifosRuntimeException)10 ActivityEntity (org.mifos.security.rolesandpermission.business.ActivityEntity)9 UserContext (org.mifos.security.util.UserContext)8 TransactionDemarcate (org.mifos.framework.util.helpers.TransactionDemarcate)7 MifosUser (org.mifos.security.MifosUser)7 OfficeBO (org.mifos.customers.office.business.OfficeBO)6 ValueListElement (org.mifos.dto.domain.ValueListElement)6 ServiceException (org.mifos.framework.exceptions.ServiceException)6 List (java.util.List)5 Test (org.junit.Test)5 PersonnelBO (org.mifos.customers.personnel.business.PersonnelBO)5 PersonnelLevelEntity (org.mifos.customers.personnel.business.PersonnelLevelEntity)5 PersonActionForm (org.mifos.customers.personnel.struts.actionforms.PersonActionForm)5 RolesPermissionsBusinessService (org.mifos.security.rolesandpermission.business.service.RolesPermissionsBusinessService)5 UserContextFactory (org.mifos.accounts.servicefacade.UserContextFactory)4 ListElement (org.mifos.dto.screen.ListElement)4 BusinessRuleException (org.mifos.service.BusinessRuleException)4