Search in sources :

Example 26 with RoleBO

use of org.mifos.security.rolesandpermission.business.RoleBO in project head by mifos.

the class RolesPermissionServiceFacadeWebTier method createRole.

@Override
public void createRole(Short userId, String name, List<Short> ActivityIds, List<ActivityRestrictionDto> activityRestrictionDtoList) throws Exception {
    MifosUser user = (MifosUser) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
    UserContext userContext = new UserContextFactory().create(user);
    List<ActivityEntity> activityEntities = getActivityEntities(ActivityIds);
    List<RoleActivityRestrictionBO> activitiesRestrictions = getActivitiesRestrictionsForCreate(activityRestrictionDtoList, userContext);
    RoleBO roleBO = new RoleBO(userContext, name, activityEntities, activitiesRestrictions);
    try {
        validateRole(name, activityEntities, roleBO);
        StaticHibernateUtil.startTransaction();
        legacyRolesPermissionsDao.save(roleBO);
        StaticHibernateUtil.flushSession();
        for (ActivityEntity ae : activityEntities) {
            StaticHibernateUtil.getSessionTL().refresh(ae);
        }
        StaticHibernateUtil.commitTransaction();
    } catch (PersistenceException e) {
        StaticHibernateUtil.rollbackTransaction();
        throw new MifosRuntimeException(e);
    } finally {
        StaticHibernateUtil.closeSession();
    }
}
Also used : ActivityEntity(org.mifos.security.rolesandpermission.business.ActivityEntity) UserContext(org.mifos.security.util.UserContext) PersistenceException(org.mifos.framework.exceptions.PersistenceException) MifosUser(org.mifos.security.MifosUser) UserContextFactory(org.mifos.accounts.servicefacade.UserContextFactory) RoleActivityRestrictionBO(org.mifos.security.rolesandpermission.business.RoleActivityRestrictionBO) RoleBO(org.mifos.security.rolesandpermission.business.RoleBO) MifosRuntimeException(org.mifos.core.MifosRuntimeException)

Example 27 with RoleBO

use of org.mifos.security.rolesandpermission.business.RoleBO in project head by mifos.

the class RolesPermissionServiceFacadeWebTier method retrieveAllRoles.

@Override
public List<ListElement> retrieveAllRoles() {
    try {
        List<RoleBO> roles = new RolesPermissionsBusinessService().getRoles();
        if (!roles.isEmpty()) {
            List<ListElement> roleList = new ArrayList<ListElement>();
            for (RoleBO role : roles) {
                ListElement element = new ListElement(new Integer(role.getId()), role.getName());
                roleList.add(element);
            }
            return roleList;
        }
    } catch (ServiceException e) {
        throw new MifosRuntimeException(e);
    }
    return null;
}
Also used : RolesPermissionsBusinessService(org.mifos.security.rolesandpermission.business.service.RolesPermissionsBusinessService) ServiceException(org.mifos.framework.exceptions.ServiceException) ArrayList(java.util.ArrayList) ListElement(org.mifos.dto.screen.ListElement) RoleBO(org.mifos.security.rolesandpermission.business.RoleBO) MifosRuntimeException(org.mifos.core.MifosRuntimeException)

Example 28 with RoleBO

use of org.mifos.security.rolesandpermission.business.RoleBO in project head by mifos.

the class RolesPermissionServiceFacadeWebTier method createRole.

@Override
public void createRole(Short userId, String name, List<Short> ActivityIds) throws RolesPermissionException {
    MifosUser user = (MifosUser) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
    UserContext userContext = new UserContextFactory().create(user);
    List<ActivityEntity> activityEntities = getActivityEntities(ActivityIds);
    RoleBO roleBO = new RoleBO(userContext, name, activityEntities);
    try {
        validateRole(name, activityEntities, roleBO);
        StaticHibernateUtil.startTransaction();
        legacyRolesPermissionsDao.save(roleBO);
        StaticHibernateUtil.flushSession();
        for (ActivityEntity ae : activityEntities) {
            StaticHibernateUtil.getSessionTL().refresh(ae);
        }
        StaticHibernateUtil.commitTransaction();
    } catch (PersistenceException e) {
        StaticHibernateUtil.rollbackTransaction();
        throw new MifosRuntimeException(e);
    } finally {
        StaticHibernateUtil.closeSession();
    }
}
Also used : ActivityEntity(org.mifos.security.rolesandpermission.business.ActivityEntity) UserContext(org.mifos.security.util.UserContext) PersistenceException(org.mifos.framework.exceptions.PersistenceException) MifosUser(org.mifos.security.MifosUser) UserContextFactory(org.mifos.accounts.servicefacade.UserContextFactory) RoleBO(org.mifos.security.rolesandpermission.business.RoleBO) MifosRuntimeException(org.mifos.core.MifosRuntimeException)

Example 29 with RoleBO

use of org.mifos.security.rolesandpermission.business.RoleBO in project head by mifos.

the class ActivityTag method doEndTag.

@SuppressWarnings("unchecked")
@Override
public int doEndTag() throws JspException {
    RoleTempleteBuilder builder = new RoleTempleteBuilder();
    List<ActivityEntity> activities;
    try {
        activities = (List<ActivityEntity>) SessionUtils.getAttribute(RolesAndPermissionConstants.ACTIVITYLIST, (HttpServletRequest) pageContext.getRequest());
        activities = filterActivities(activities);
        RoleBO role = (RoleBO) SessionUtils.getAttribute(Constants.BUSINESS_KEY, (HttpServletRequest) pageContext.getRequest());
        RolesPermissionsActionForm rolesPermissionsActionForm = (RolesPermissionsActionForm) pageContext.getSession().getAttribute("rolesPermissionsActionForm");
        if (rolesPermissionsActionForm != null && rolesPermissionsActionForm.getActivities().size() > 0) {
            List<ActivityEntity> flitered = filterActivities(getActivities(activities, rolesPermissionsActionForm.getActivities()));
            Set<Short> activitySet = convertToIdSet(flitered);
            builder.setCurrentActivites(activitySet);
        } else if (role != null) {
            List<ActivityEntity> flitered = filterActivities(new ArrayList<ActivityEntity>(role.getActivities()));
            Set<Short> activitySet = convertToIdSet(flitered);
            builder.setCurrentActivites(activitySet);
        }
        Map<Short, ActivityRestrictionDto> activityRestrictionDtoMap = rolesPermissionsActionForm.getActivityRestrictionDtoMap();
        if (activityRestrictionDtoMap == null) {
            activityRestrictionDtoMap = new HashMap<Short, ActivityRestrictionDto>();
        }
        builder.setActivityRestrictionDtoMap(activityRestrictionDtoMap);
        SessionUtils.getAttribute(Constants.BUSINESS_KEY, (HttpServletRequest) pageContext.getRequest());
        StringBuilder sb = builder.getRolesTemplete(activities);
        pageContext.getOut().print(sb.toString());
    } catch (IOException e) {
        throw new JspException(e);
    } catch (PageExpiredException e1) {
        throw new JspException(e1);
    }
    return EVAL_PAGE;
}
Also used : ActivityEntity(org.mifos.security.rolesandpermission.business.ActivityEntity) Set(java.util.Set) HashSet(java.util.HashSet) RolesPermissionsActionForm(org.mifos.security.rolesandpermission.struts.actionforms.RolesPermissionsActionForm) ArrayList(java.util.ArrayList) PageExpiredException(org.mifos.framework.exceptions.PageExpiredException) IOException(java.io.IOException) HttpServletRequest(javax.servlet.http.HttpServletRequest) RoleTempleteBuilder(org.mifos.security.rolesandpermission.util.helpers.RoleTempleteBuilder) JspException(javax.servlet.jsp.JspException) ArrayList(java.util.ArrayList) List(java.util.List) ActivityRestrictionDto(org.mifos.dto.domain.ActivityRestrictionDto) RoleBO(org.mifos.security.rolesandpermission.business.RoleBO)

Example 30 with RoleBO

use of org.mifos.security.rolesandpermission.business.RoleBO in project head by mifos.

the class LegacyRolesPermissionsDao method createActivityForQuestionGroup.

public int createActivityForQuestionGroup(short parentActivity, String lookUpDescription) throws HibernateException, PersistenceException, ServiceException, ActivityGeneratorException {
    StaticHibernateUtil.startTransaction();
    int lookUpId = createLookUpValue(DynamicLookUpValueCreationTypes.QuestionGroup, 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