Search in sources :

Example 31 with ValueListElement

use of org.mifos.dto.domain.ValueListElement in project head by mifos.

the class SearchResultController method legacyShowSearchResults.

@RequestMapping(value = "/legacySearchResult", method = { RequestMethod.POST, RequestMethod.GET })
public ModelAndView legacyShowSearchResults(HttpServletRequest request, @ModelAttribute("customerSearch") @Valid CustomerSearchFormBean customerSearchFormBean, BindingResult result) throws PersistenceException {
    ModelAndView modelAndView = new ModelAndView();
    sitePreferenceHelper.resolveSiteType(modelAndView, "legacySearchResult", request);
    MifosUser user = (MifosUser) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
    CustomerHierarchyDto customerHierarchyDto = null;
    List<OfficeDto> officeDtoList = officeServiceFacade.retrieveActiveBranchesUnderUser((short) user.getUserId());
    Map<String, String> officesMap = new HashMap<String, String>();
    for (OfficeDto officeDto : officeDtoList) {
        officesMap.put(officeDto.getId().toString(), officeDto.getName());
    }
    customerSearchFormBean.setOffices(officesMap);
    boolean isCenterHierarchyExists = configurationServiceFacade.getBooleanConfig("ClientRules.CenterHierarchyExists");
    modelAndView.addObject("isCenterHierarchyExists", isCenterHierarchyExists);
    HashMap<String, ArrayList<CustomerStatusDetailDto>> customerStates = new HashMap<String, ArrayList<CustomerStatusDetailDto>>();
    customerStates.putAll(customerSearchServiceFacade.getAvailibleCustomerStates());
    modelAndView.addObject("availibleCustomerStates", customerStates);
    List<ValueListElement> availibleClientGenders = clientServiceFacade.getClientGenders();
    modelAndView.addObject("availibleClientGenders", availibleClientGenders);
    if (result.hasErrors()) {
        return modelAndView;
    }
    int currentPage = 0;
    if (request.getParameter("currentPage") != null) {
        currentPage = new Integer(request.getParameter("currentPage")).intValue();
    }
    modelAndView.addObject("customerSearch", customerSearchFormBean);
    if (customerSearchFormBean.getFilters() == null) {
        customerSearchFormBean.setFilters(new SearchFiltersDto());
    }
    customerHierarchyDto = customerSearchServiceFacade.search(customerSearchFormBean.getSearchString(), customerSearchFormBean.getOfficeId(), currentPage * PAGE_SIZE, PAGE_SIZE, customerSearchFormBean.getFilters());
    boolean prevPageAvailable = false;
    if (currentPage > 0) {
        prevPageAvailable = true;
    }
    boolean nextPageAvailable = false;
    if (customerHierarchyDto.getSize() / PAGE_SIZE > 0 && customerHierarchyDto.getSize() / PAGE_SIZE >= currentPage + 1) {
        nextPageAvailable = true;
    }
    modelAndView.addObject("isPrevPageAvailable", prevPageAvailable);
    modelAndView.addObject("isNextPageAvailable", nextPageAvailable);
    modelAndView.addObject("currentPage", currentPage);
    modelAndView.addObject("pageSize", PAGE_SIZE);
    modelAndView.addObject("customerHierarchy", customerHierarchyDto);
    return modelAndView;
}
Also used : OfficeDto(org.mifos.dto.domain.OfficeDto) 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) SearchFiltersDto(org.mifos.dto.screen.SearchFiltersDto) CustomerHierarchyDto(org.mifos.dto.screen.CustomerHierarchyDto) ValueListElement(org.mifos.dto.domain.ValueListElement) RequestMapping(org.springframework.web.bind.annotation.RequestMapping)

Example 32 with ValueListElement

use of org.mifos.dto.domain.ValueListElement in project head by mifos.

the class SearchResultController method showSearchResults.

@RequestMapping(value = "/searchResult", method = { RequestMethod.POST, RequestMethod.GET })
public ModelAndView showSearchResults(HttpServletRequest request, @ModelAttribute("customerSearch") @Valid CustomerSearchFormBean customerSearchFormBean, BindingResult result) throws PersistenceException {
    ModelAndView modelAndView = new ModelAndView();
    sitePreferenceHelper.resolveSiteType(modelAndView, "searchResult", request);
    // mobile search result view doesn't use ajax search
    if (sitePreferenceHelper.isMobile(request)) {
        return legacyShowSearchResults(request, customerSearchFormBean, result);
    }
    MifosUser user = (MifosUser) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
    List<OfficeDto> officeDtoList = officeServiceFacade.retrieveActiveBranchesUnderUser((short) user.getUserId());
    Map<String, String> officesMap = new HashMap<String, String>();
    for (OfficeDto officeDto : officeDtoList) {
        officesMap.put(officeDto.getId().toString(), officeDto.getName());
    }
    customerSearchFormBean.setOffices(officesMap);
    modelAndView.addObject("customerSearch", customerSearchFormBean);
    boolean isCenterHierarchyExists = configurationServiceFacade.getBooleanConfig("ClientRules.CenterHierarchyExists");
    modelAndView.addObject("isCenterHierarchyExists", isCenterHierarchyExists);
    HashMap<String, ArrayList<CustomerStatusDetailDto>> customerStates = new HashMap<String, ArrayList<CustomerStatusDetailDto>>();
    customerStates.putAll(customerSearchServiceFacade.getAvailibleCustomerStates());
    modelAndView.addObject("availibleCustomerStates", customerStates);
    List<ValueListElement> availibleClientGenders = clientServiceFacade.getClientGenders();
    modelAndView.addObject("availibleClientGenders", availibleClientGenders);
    if (result.hasErrors()) {
        return modelAndView;
    }
    CustomerHierarchyDto customerHierarchyDto = new CustomerHierarchyDto();
    if (customerSearchFormBean.getFilters() == null) {
        customerSearchFormBean.setFilters(new SearchFiltersDto());
    }
    if (customerSearchFormBean.getSearchString() != null && !customerSearchFormBean.getSearchString().isEmpty()) {
        customerHierarchyDto = customerSearchServiceFacade.search(customerSearchFormBean.getSearchString(), customerSearchFormBean.getOfficeId(), 0, 10, customerSearchFormBean.getFilters());
    }
    modelAndView.addObject("customerHierarchy", customerHierarchyDto);
    modelAndView.addObject("startIndex", 0);
    return modelAndView;
}
Also used : OfficeDto(org.mifos.dto.domain.OfficeDto) 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) SearchFiltersDto(org.mifos.dto.screen.SearchFiltersDto) CustomerHierarchyDto(org.mifos.dto.screen.CustomerHierarchyDto) ValueListElement(org.mifos.dto.domain.ValueListElement) RequestMapping(org.springframework.web.bind.annotation.RequestMapping)

Aggregations

ValueListElement (org.mifos.dto.domain.ValueListElement)32 ArrayList (java.util.ArrayList)25 TransactionDemarcate (org.mifos.framework.util.helpers.TransactionDemarcate)10 UserContext (org.mifos.security.util.UserContext)10 HashMap (java.util.HashMap)8 LoanAccountDetailsDto (org.mifos.dto.domain.LoanAccountDetailsDto)8 CustomerStatusDetailDto (org.mifos.dto.screen.CustomerStatusDetailDto)8 MessageLookup (org.mifos.application.master.MessageLookup)7 PersonnelBO (org.mifos.customers.personnel.business.PersonnelBO)7 LoanBO (org.mifos.accounts.loan.business.LoanBO)6 MifosRuntimeException (org.mifos.core.MifosRuntimeException)6 ClientBO (org.mifos.customers.client.business.ClientBO)6 LocalDate (org.joda.time.LocalDate)5 CustomFieldDefinitionEntity (org.mifos.application.master.business.CustomFieldDefinitionEntity)5 PersonnelLevelEntity (org.mifos.customers.personnel.business.PersonnelLevelEntity)4 CustSearchActionForm (org.mifos.customers.struts.actionforms.CustSearchActionForm)4 ApplicationException (org.mifos.framework.exceptions.ApplicationException)4 MifosUser (org.mifos.security.MifosUser)4 RoleBO (org.mifos.security.rolesandpermission.business.RoleBO)4 Date (java.util.Date)3