From 71508780a0ef8b8e06cf4e921d9ec873415fd24a Mon Sep 17 00:00:00 2001 From: Pramod Nuthakki Date: Mon, 17 Mar 2014 17:13:21 +0530 Subject: [PATCH] MIFOSX-994 - removed the constrain for overdraft account --- .../client/api/ClientsApiResource.java | 2 +- .../service/ClientReadPlatformServiceImpl.java | 2 +- ...ntWritePlatformServiceJpaRepositoryImpl.java | 17 ++++------------- .../SavingsProductReadPlatformService.java | 2 +- .../SavingsProductReadPlatformServiceImpl.java | 10 +++++++--- 5 files changed, 14 insertions(+), 19 deletions(-) diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/client/api/ClientsApiResource.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/client/api/ClientsApiResource.java index 7e36343a8..4dad051fc 100644 --- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/client/api/ClientsApiResource.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/client/api/ClientsApiResource.java @@ -140,7 +140,7 @@ public class ClientsApiResource { staffInSelectedOfficeOnly); clientData = ClientData.templateOnTop(clientData, templateData); Collection savingAccountOptions = this.savingsAccountReadPlatformService.retrieveForLookup( - clientId, true); + clientId, null); if (savingAccountOptions != null && savingAccountOptions.size() > 0) { clientData = ClientData.templateWithSavingAccountOptions(clientData, savingAccountOptions); } diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/client/service/ClientReadPlatformServiceImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/client/service/ClientReadPlatformServiceImpl.java index f39112f6c..fdee2c752 100644 --- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/client/service/ClientReadPlatformServiceImpl.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/client/service/ClientReadPlatformServiceImpl.java @@ -80,7 +80,7 @@ public class ClientReadPlatformServiceImpl implements ClientReadPlatformService final Collection offices = this.officeReadPlatformService.retrieveAllOfficesForDropdown(); - final Collection savingsProductDatas = this.savingsProductReadPlatformService.retrieveAllForLookupByType(true); + final Collection savingsProductDatas = this.savingsProductReadPlatformService.retrieveAllForLookupByType(null); Collection staffOptions = null; diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/client/service/ClientWritePlatformServiceJpaRepositoryImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/client/service/ClientWritePlatformServiceJpaRepositoryImpl.java index 3c958879e..9c8bcef74 100644 --- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/client/service/ClientWritePlatformServiceJpaRepositoryImpl.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/client/service/ClientWritePlatformServiceJpaRepositoryImpl.java @@ -209,7 +209,7 @@ public class ClientWritePlatformServiceJpaRepositoryImpl implements ClientWriteP final Locale locale = command.extractLocale(); final DateTimeFormatter fmt = DateTimeFormat.forPattern(command.dateFormat()).withLocale(locale); - CommandProcessingResult result = openOverdraftSavingsAccount(newClient, fmt); + CommandProcessingResult result = openSavingsAccount(newClient, fmt); if (result.getSavingsId() != null) { this.clientRepository.save(newClient); } @@ -298,7 +298,7 @@ public class ClientWritePlatformServiceJpaRepositoryImpl implements ClientWriteP final AppUser currentUser = this.context.authenticatedUser(); client.activate(currentUser, fmt, activationDate); - CommandProcessingResult result = openOverdraftSavingsAccount(client, fmt); + CommandProcessingResult result = openSavingsAccount(client, fmt); this.clientRepository.saveAndFlush(client); return new CommandProcessingResultBuilder() // @@ -315,20 +315,16 @@ public class ClientWritePlatformServiceJpaRepositoryImpl implements ClientWriteP } } - private CommandProcessingResult openOverdraftSavingsAccount(final Client client, final DateTimeFormatter fmt) { + private CommandProcessingResult openSavingsAccount(final Client client, final DateTimeFormatter fmt) { CommandProcessingResult commandProcessingResult = CommandProcessingResult.empty(); if (client.isActive() && client.SavingsProduct() != null) { - if (!client.SavingsProduct().isAllowOverdraft()) { - String defaultUserMessage = "Client's saving account must be a overdraft account"; - throw new InvalidClientSavingProductException("saving.product", "must.be.ovrdraft.account", defaultUserMessage, client - .SavingsProduct().getId(), client.getId()); - } SavingsAccountDataDTO savingsAccountDataDTO = new SavingsAccountDataDTO(client, null, client.SavingsProduct(), client.getActivationLocalDate(), client.activatedBy(), fmt); commandProcessingResult = this.savingsApplicationProcessWritePlatformService.createActiveApplication(savingsAccountDataDTO); if (commandProcessingResult.getSavingsId() != null) { SavingsAccount savingsAccount = this.savingsRepository.findOne(commandProcessingResult.getSavingsId()); client.updateSavingsAccount(savingsAccount); + client.updateSavingsProduct(null); } } return commandProcessingResult; @@ -505,11 +501,6 @@ public class ClientWritePlatformServiceJpaRepositoryImpl implements ClientWriteP throw new InvalidClientSavingProductException("saving.account", "must.belongs.to.client", defaultUserMessage, savingsId, clientForUpdate.getId()); } - if (!savingsAccount.allowOverdraft()) { - String defaultUserMessage = "Client's saving account must be a overdraft account"; - throw new InvalidClientSavingProductException("saving.account", "must.be.ovrdraft.account", defaultUserMessage, savingsId, - clientForUpdate.getId()); - } clientForUpdate.updateSavingsAccount(savingsAccount); } diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savings/service/SavingsProductReadPlatformService.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savings/service/SavingsProductReadPlatformService.java index 55f4d2e54..6a91bee0e 100644 --- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savings/service/SavingsProductReadPlatformService.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savings/service/SavingsProductReadPlatformService.java @@ -15,7 +15,7 @@ public interface SavingsProductReadPlatformService { Collection retrieveAllForLookup(); - Collection retrieveAllForLookupByType(boolean isOverdraftType); + Collection retrieveAllForLookupByType(Boolean isOverdraftType); SavingsProductData retrieveOne(Long productId); diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savings/service/SavingsProductReadPlatformServiceImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savings/service/SavingsProductReadPlatformServiceImpl.java index 45cc49f1f..0fb001aa3 100644 --- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savings/service/SavingsProductReadPlatformServiceImpl.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savings/service/SavingsProductReadPlatformServiceImpl.java @@ -201,10 +201,14 @@ public class SavingsProductReadPlatformServiceImpl implements SavingsProductRead } @Override - public Collection retrieveAllForLookupByType(boolean isOverdraftType) { - final String sql = "select " + this.savingsProductLookupsRowMapper.schema() + " where sp.allow_overdraft=?"; + public Collection retrieveAllForLookupByType(Boolean isOverdraftType) { + String sql = "select " + this.savingsProductLookupsRowMapper.schema(); + if(isOverdraftType != null){ + sql += " where sp.allow_overdraft=?"; + return this.jdbcTemplate.query(sql, this.savingsProductLookupsRowMapper, isOverdraftType); + } - return this.jdbcTemplate.query(sql, this.savingsProductLookupsRowMapper, isOverdraftType); + return this.jdbcTemplate.query(sql, this.savingsProductLookupsRowMapper); } } \ No newline at end of file