From 99b53995ea4e1a6a8d06135e0b869160a888cd96 Mon Sep 17 00:00:00 2001 From: Keith Woodlock Date: Wed, 12 Sep 2012 11:11:19 +0100 Subject: [PATCH] add validation for repayment strategy for loan application flows, add data update patch for heavensfamily data. --- .../patches/patch-0001-heavensfamily-data-patch.sql | 9 +++++++++ .../loan/service/LoanApplicationCommandValidator.java | 6 ++++++ 2 files changed, 15 insertions(+) create mode 100644 mifosng-db/patches/patch-0001-heavensfamily-data-patch.sql diff --git a/mifosng-db/patches/patch-0001-heavensfamily-data-patch.sql b/mifosng-db/patches/patch-0001-heavensfamily-data-patch.sql new file mode 100644 index 000000000..60a1c7cb7 --- /dev/null +++ b/mifosng-db/patches/patch-0001-heavensfamily-data-patch.sql @@ -0,0 +1,9 @@ +UPDATE `mifostenant-heavensfamily`.`m_loan` +SET +`loan_transaction_strategy_id` = 2 +WHERE id > 0; + +UPDATE `mifostenant-heavensfamily`.`m_loan` +SET +`term_frequency` = `repay_every` * `number_of_repayments` +WHERE `term_frequency` = 0; diff --git a/mifosng-provider/src/main/java/org/mifosng/platform/loan/service/LoanApplicationCommandValidator.java b/mifosng-provider/src/main/java/org/mifosng/platform/loan/service/LoanApplicationCommandValidator.java index 1b0b3e61e..df7ad2131 100644 --- a/mifosng-provider/src/main/java/org/mifosng/platform/loan/service/LoanApplicationCommandValidator.java +++ b/mifosng-provider/src/main/java/org/mifosng/platform/loan/service/LoanApplicationCommandValidator.java @@ -3,6 +3,7 @@ package org.mifosng.platform.loan.service; import java.util.ArrayList; import java.util.List; +import org.mifosng.platform.DataValidatorBuilder; import org.mifosng.platform.api.commands.CalculateLoanScheduleCommand; import org.mifosng.platform.api.commands.LoanChargeCommand; import org.mifosng.platform.api.commands.LoanApplicationCommand; @@ -39,6 +40,11 @@ public class LoanApplicationCommandValidator { } } + if (command.getTransactionProcessingStrategyId() == null) { + DataValidatorBuilder baseDataValidator = new DataValidatorBuilder(dataValidationErrors).resource("loan"); + baseDataValidator.reset().parameter("transactionProcessingStrategyId").value(command.getTransactionProcessingStrategyId()).notNull().inMinMaxRange(2, 2); + } + try { // reuse calculate loan schedule validator for now CalculateLoanScheduleCommand calculateLoanScheduleCommand = this.command.toCalculateLoanScheduleCommand();