use of org.mifos.dto.screen.CustomerStatusDetailDto 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;
}
Aggregations