use of org.mifos.security.rolesandpermission.business.RoleActivityRestrictionBO in project head by mifos.
the class RolesPermissionServiceFacadeWebTier method getRoleActivitiesRestrictions.
@Override
public List<ActivityRestrictionDto> getRoleActivitiesRestrictions(Short roleId) {
try {
List<ActivityRestrictionDto> activityRestrictionDtoList = new ArrayList<ActivityRestrictionDto>();
List<RoleActivityRestrictionBO> activityRestrictionBOList = legacyRolesPermissionsDao.getRoleActivitiesRestrictions(roleId);
for (RoleActivityRestrictionBO activityRestrictionBO : activityRestrictionBOList) {
Integer activityRestrictionId = activityRestrictionBO.getId();
Short activityRestrictionTypeId = activityRestrictionBO.getActivityRestrictionType().getId();
BigDecimal restrictionAmountValue = activityRestrictionBO.getRestrictionAmountValue();
ActivityRestrictionDto activityRestrictionDto = new ActivityRestrictionDto(roleId, activityRestrictionId, activityRestrictionTypeId, restrictionAmountValue);
activityRestrictionDtoList.add(activityRestrictionDto);
}
return activityRestrictionDtoList;
} catch (PersistenceException e) {
throw new MifosRuntimeException(e);
}
}
use of org.mifos.security.rolesandpermission.business.RoleActivityRestrictionBO in project head by mifos.
the class RolesPermissionsBusinessService method getRoleActivityRestrictionAmountValueByRestrictionTypeId.
public BigDecimal getRoleActivityRestrictionAmountValueByRestrictionTypeId(Short roleId, Short activityRestrictionTypeId) throws ServiceException {
try {
RoleBO roleBO = rolesPermissionsPersistence.getRole(roleId);
Set<RoleActivityRestrictionBO> restrictions = roleBO.getRestrictions();
for (RoleActivityRestrictionBO restrictionBO : restrictions) {
if (restrictionBO.getActivityRestrictionType().getId().equals(ActivityRestrictionType.MAX_LOAN_AMOUNT_FOR_APPROVE.getValue())) {
return restrictionBO.getRestrictionAmountValue();
}
}
return null;
} catch (PersistenceException e) {
throw new ServiceException(e);
}
}
use of org.mifos.security.rolesandpermission.business.RoleActivityRestrictionBO in project head by mifos.
the class RolesPermissionServiceFacadeWebTier method updateRole.
@Override
public void updateRole(Short roleId, Short userId, String name, List<Short> ActivityIds, List<ActivityRestrictionDto> activityRestrictionDtoList) throws Exception {
RolesPermissionsBusinessService rolesPermissionsBusinessService = new RolesPermissionsBusinessService();
RoleBO role = rolesPermissionsBusinessService.getRole(roleId);
List<ActivityEntity> activityList = getActivityEntities(ActivityIds);
MifosUser user = (MifosUser) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
UserContext userContext = new UserContextFactory().create(user);
List<RoleActivityRestrictionBO> activitiesRestrictions = getActivitiesRestrictionsForUpdate(userContext, activityRestrictionDtoList);
validateRole(name, activityList, role);
try {
StaticHibernateUtil.startTransaction();
role.updateWithActivitiesRestrictions(userId, name, activityList, activitiesRestrictions);
legacyRolesPermissionsDao.save(role);
StaticHibernateUtil.flushSession();
for (ActivityEntity ae : legacyRolesPermissionsDao.getActivities()) {
StaticHibernateUtil.getSessionTL().refresh(ae);
}
StaticHibernateUtil.commitTransaction();
} catch (RolesPermissionException e) {
StaticHibernateUtil.rollbackTransaction();
throw new BusinessRuleException(e.getKey(), e);
} catch (Exception e) {
StaticHibernateUtil.rollbackTransaction();
throw new MifosRuntimeException(e);
} finally {
StaticHibernateUtil.closeSession();
}
}
use of org.mifos.security.rolesandpermission.business.RoleActivityRestrictionBO 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();
}
}
use of org.mifos.security.rolesandpermission.business.RoleActivityRestrictionBO in project head by mifos.
the class RolesPermissionServiceFacadeWebTier method getActivitiesRestrictionsForUpdate.
private List<RoleActivityRestrictionBO> getActivitiesRestrictionsForUpdate(UserContext userContext, List<ActivityRestrictionDto> activityRestrictionDtoList) {
try {
List<RoleActivityRestrictionBO> activitiesRestrictions = new ArrayList<RoleActivityRestrictionBO>();
for (ActivityRestrictionDto activityRestrictionDto : activityRestrictionDtoList) {
RoleActivityRestrictionBO roleActivityRestrictionBO;
if (activityRestrictionDto.getActivityRestrictionId() != null) {
roleActivityRestrictionBO = legacyRolesPermissionsDao.getActivityRestrictionById(activityRestrictionDto.getActivityRestrictionId());
roleActivityRestrictionBO.update(userContext.getId(), activityRestrictionDto.getAmountValue());
} else {
roleActivityRestrictionBO = new RoleActivityRestrictionBO(userContext);
ActivityRestrictionTypeEntity activityRestrictionTypeEntity = legacyRolesPermissionsDao.getActivityRestrictionTypeEntity((short) activityRestrictionDto.getActivityRestrictionTypeId());
roleActivityRestrictionBO.setActivityRestrictionType(activityRestrictionTypeEntity);
roleActivityRestrictionBO.setRestrictionAmountValue(activityRestrictionDto.getAmountValue());
}
activitiesRestrictions.add(roleActivityRestrictionBO);
}
return activitiesRestrictions;
} catch (PersistenceException e) {
throw new MifosRuntimeException(e);
}
}
Aggregations