Search in sources :

Example 76 with MifosUser

use of org.mifos.security.MifosUser in project head by mifos.

the class ApprovalInterceptorTest method init.

@BeforeClass
public static void init() {
    SecurityContext securityContext = new SecurityContextImpl();
    MifosUser principal = new MifosUserBuilder().nonLoanOfficer().withAdminRole().build();
    Authentication authentication = new TestingAuthenticationToken(principal, principal);
    securityContext.setAuthentication(authentication);
    SecurityContextHolder.setContext(securityContext);
}
Also used : SecurityContextImpl(org.springframework.security.core.context.SecurityContextImpl) Authentication(org.springframework.security.core.Authentication) SecurityContext(org.springframework.security.core.context.SecurityContext) MifosUser(org.mifos.security.MifosUser) MifosUserBuilder(org.mifos.builders.MifosUserBuilder) TestingAuthenticationToken(org.springframework.security.authentication.TestingAuthenticationToken) BeforeClass(org.junit.BeforeClass)

Example 77 with MifosUser

use of org.mifos.security.MifosUser in project head by mifos.

the class HomePageController method showPopulatedForm.

@RequestMapping(method = RequestMethod.GET)
@ModelAttribute("customerSearch")
public ModelAndView showPopulatedForm(HttpServletRequest request, HttpServletResponse response, @ModelAttribute("customerSearch") CustomerSearchFormBean customerSearchFormBean) throws MifosException, PersistenceException {
    MifosUser user = (MifosUser) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
    ModelAndView modelAndView = new ModelAndView();
    sitePreferenceHelper.resolveSiteType(modelAndView, "home", request);
    modelAndView.addObject("include_page", new IncludePage(request, response));
    Short userId = (short) user.getUserId();
    UserDetailDto userDetails = this.centerServiceFacade.retrieveUsersDetails(userId);
    modelAndView.addObject("customerSearch", customerSearchFormBean);
    boolean isCenterHierarchyExists = configurationServiceFacade.getBooleanConfig("ClientRules.CenterHierarchyExists");
    modelAndView.addObject("isCenterHierarchyExists", isCenterHierarchyExists);
    if (sitePreferenceHelper.isMobile(request)) {
        List<ValueListElement> availibleClientGenders = clientServiceFacade.getClientGenders();
        modelAndView.addObject("availibleClientGenders", availibleClientGenders);
        HashMap<String, ArrayList<CustomerStatusDetailDto>> customerStates = new HashMap<String, ArrayList<CustomerStatusDetailDto>>();
        customerStates.putAll(customerSearchServiceFacade.getAvailibleCustomerStates());
        modelAndView.addObject("availibleCustomerStates", customerStates);
    }
    if (userDetails.isLoanOfficer()) {
        loadLoanOfficerCustomersHierarchyForSelectedDay(userId, modelAndView, customerSearchFormBean);
        modelAndView.addObject("isLoanOfficer", true);
    } else {
        modelAndView.addObject("isLoanOfficer", false);
    }
    return modelAndView;
}
Also used : CustomerStatusDetailDto(org.mifos.dto.screen.CustomerStatusDetailDto) HashMap(java.util.HashMap) ModelAndView(org.springframework.web.servlet.ModelAndView) ArrayList(java.util.ArrayList) MifosUser(org.mifos.security.MifosUser) UserDetailDto(org.mifos.dto.domain.UserDetailDto) IncludePage(freemarker.ext.servlet.IncludePage) ValueListElement(org.mifos.dto.domain.ValueListElement) ModelAttribute(org.springframework.web.bind.annotation.ModelAttribute) RequestMapping(org.springframework.web.bind.annotation.RequestMapping)

Example 78 with MifosUser

use of org.mifos.security.MifosUser in project head by mifos.

the class PersonnelNoteActionStrutsTest method testSuccessSearch.

@Test
public void testSuccessSearch() throws Exception {
    SecurityContext securityContext = new SecurityContextImpl();
    MifosUser principal = new MifosUserBuilder().nonLoanOfficer().withAdminRole().build();
    Authentication authentication = new TestingAuthenticationToken(principal, principal);
    securityContext.setAuthentication(authentication);
    SecurityContextHolder.setContext(securityContext);
    createPersonnelAndSetInSession(getBranchOffice(), PersonnelLevel.LOAN_OFFICER);
    setRequestPathInfo("/personnelNoteAction.do");
    addRequestParameter("method", Methods.load.toString());
    addRequestParameter("personnelId", personnel.getPersonnelId().toString());
    addRequestParameter(Constants.CURRENTFLOWKEY, (String) request.getAttribute(Constants.CURRENTFLOWKEY));
    actionPerform();
    setRequestPathInfo("/personnelNoteAction.do");
    addRequestParameter("method", Methods.preview.toString());
    addRequestParameter("comment", "Notes created");
    addRequestParameter(Constants.CURRENTFLOWKEY, (String) request.getAttribute(Constants.CURRENTFLOWKEY));
    actionPerform();
    setRequestPathInfo("/personnelNoteAction.do");
    addRequestParameter("method", Methods.create.toString());
    addRequestParameter("comment", "Notes created");
    addRequestParameter(Constants.CURRENTFLOWKEY, (String) request.getAttribute(Constants.CURRENTFLOWKEY));
    actionPerform();
    StaticHibernateUtil.flushSession();
    setRequestPathInfo("/PersonAction.do");
    addRequestParameter("method", Methods.get.toString());
    addRequestParameter("globalPersonnelNum", personnel.getGlobalPersonnelNum());
    StaticHibernateUtil.flushAndClearSession();
    actionPerform();
    setRequestPathInfo("/personnelNoteAction.do");
    addRequestParameter("method", Methods.search.toString());
    addRequestParameter(Constants.CURRENTFLOWKEY, (String) request.getAttribute(Constants.CURRENTFLOWKEY));
    actionPerform();
    verifyForward(ActionForwards.search_success.toString());
    verifyNoActionErrors();
    verifyNoActionMessages();
    Assert.assertEquals("Size of the search result should be 1", 1, ((QueryResult) SessionUtils.getAttribute(Constants.SEARCH_RESULTS, request)).getSize());
    StaticHibernateUtil.flushSession();
    personnel = (PersonnelBO) TestObjectFactory.getObject(PersonnelBO.class, personnel.getPersonnelId());
}
Also used : SecurityContextImpl(org.springframework.security.core.context.SecurityContextImpl) Authentication(org.springframework.security.core.Authentication) SecurityContext(org.springframework.security.core.context.SecurityContext) MifosUser(org.mifos.security.MifosUser) MifosUserBuilder(org.mifos.builders.MifosUserBuilder) TestingAuthenticationToken(org.springframework.security.authentication.TestingAuthenticationToken) Test(org.junit.Test)

Example 79 with MifosUser

use of org.mifos.security.MifosUser in project head by mifos.

the class CustHistoricalDataActionStrutsTest method testUpdateHistoricalDataWhenCustHistoricalDataIsNull.

@Test
public void testUpdateHistoricalDataWhenCustHistoricalDataIsNull() throws Exception {
    SecurityContext securityContext = new SecurityContextImpl();
    MifosUser principal = new MifosUserBuilder().nonLoanOfficer().withAdminRole().build();
    Authentication authentication = new TestingAuthenticationToken(principal, principal);
    securityContext.setAuthentication(authentication);
    SecurityContextHolder.setContext(securityContext);
    request.setAttribute(Constants.CURRENTFLOWKEY, flowKey);
    createInitialObjects();
    SessionUtils.setAttribute(Constants.BUSINESS_KEY, group, request);
    setRequestPathInfo("/custHistoricalDataAction.do");
    addRequestParameter("method", "updateHistoricalData");
    addRequestParameter("productName", "Test");
    addRequestParameter("loanAmount", "100");
    addRequestParameter("totalAmountPaid", "50");
    addRequestParameter("interestPaid", "10");
    addRequestParameter("missedPaymentsCount", "1");
    addRequestParameter("totalPaymentsCount", "2");
    addRequestParameter("commentNotes", "Test notes");
    addRequestParameter("loanCycleNumber", "1");
    addRequestParameter("type", "Group");
    addRequestParameter("mfiJoiningDate", DateUtils.getCurrentDate(((UserContext) request.getSession().getAttribute("UserContext")).getPreferredLocale()));
    addRequestParameter(Constants.CURRENTFLOWKEY, flowKey);
    actionPerform();
    verifyForward(ActionForwards.updateHistoricalData_success.toString());
    verifyNoActionErrors();
    verifyNoActionMessages();
    group = TestObjectFactory.getGroup(group.getCustomerId());
    Assert.assertEquals("Test", group.getHistoricalData().getProductName());
    Assert.assertEquals("Test notes", group.getHistoricalData().getNotes());
    Assert.assertEquals(new Money(getCurrency(), "100"), group.getHistoricalData().getLoanAmount());
    Assert.assertEquals(new Money(getCurrency(), "50"), group.getHistoricalData().getTotalAmountPaid());
    Assert.assertEquals(new Money(getCurrency(), "10"), group.getHistoricalData().getInterestPaid());
    Assert.assertEquals(1, group.getHistoricalData().getMissedPaymentsCount().intValue());
    Assert.assertEquals(2, group.getHistoricalData().getTotalPaymentsCount().intValue());
    Assert.assertEquals(1, group.getHistoricalData().getLoanCycleNumber().intValue());
}
Also used : Money(org.mifos.framework.util.helpers.Money) SecurityContextImpl(org.springframework.security.core.context.SecurityContextImpl) Authentication(org.springframework.security.core.Authentication) UserContext(org.mifos.security.util.UserContext) SecurityContext(org.springframework.security.core.context.SecurityContext) MifosUser(org.mifos.security.MifosUser) MifosUserBuilder(org.mifos.builders.MifosUserBuilder) TestingAuthenticationToken(org.springframework.security.authentication.TestingAuthenticationToken) Test(org.junit.Test)

Example 80 with MifosUser

use of org.mifos.security.MifosUser in project head by mifos.

the class PersonnelDaoHibernateIntegrationTest method shouldFindAppUserWithNoRolesByUsername.

@Test
public void shouldFindAppUserWithNoRolesByUsername() {
    OfficeBO office = IntegrationTestObjectMother.sampleBranchOffice();
    PersonnelBO userWithNoRoles = new PersonnelBuilder().withUsername("noRoles").asLoanOfficer().with(office).build();
    IntegrationTestObjectMother.createPersonnel(userWithNoRoles);
    // exercise test
    MifosUser user = personnelDao.findAuthenticatedUserByUsername("noRoles");
    // verification
    assertNotNull(user);
}
Also used : PersonnelBuilder(org.mifos.domain.builders.PersonnelBuilder) OfficeBO(org.mifos.customers.office.business.OfficeBO) PersonnelBO(org.mifos.customers.personnel.business.PersonnelBO) MifosUser(org.mifos.security.MifosUser) Test(org.junit.Test)

Aggregations

MifosUser (org.mifos.security.MifosUser)205 UserContext (org.mifos.security.util.UserContext)134 MifosRuntimeException (org.mifos.core.MifosRuntimeException)88 BusinessRuleException (org.mifos.service.BusinessRuleException)74 ArrayList (java.util.ArrayList)52 AccountException (org.mifos.accounts.exceptions.AccountException)52 UserContextFactory (org.mifos.accounts.servicefacade.UserContextFactory)49 PersonnelBO (org.mifos.customers.personnel.business.PersonnelBO)44 PersistenceException (org.mifos.framework.exceptions.PersistenceException)43 ServiceException (org.mifos.framework.exceptions.ServiceException)43 CustomerBO (org.mifos.customers.business.CustomerBO)38 Authentication (org.springframework.security.core.Authentication)38 SecurityContext (org.springframework.security.core.context.SecurityContext)38 SecurityContextImpl (org.springframework.security.core.context.SecurityContextImpl)38 TestingAuthenticationToken (org.springframework.security.authentication.TestingAuthenticationToken)36 Money (org.mifos.framework.util.helpers.Money)35 LocalDate (org.joda.time.LocalDate)33 LoanBO (org.mifos.accounts.loan.business.LoanBO)33 MifosUserBuilder (org.mifos.builders.MifosUserBuilder)29 SavingsBO (org.mifos.accounts.savings.business.SavingsBO)26