diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/api/LoanTransactionsApiResource.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/api/LoanTransactionsApiResource.java index 1a661dd3a..887d20867 100644 --- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/api/LoanTransactionsApiResource.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/api/LoanTransactionsApiResource.java @@ -91,6 +91,8 @@ public class LoanTransactionsApiResource { transactionData = this.loanReadPlatformService.retrieveNewClosureDetails(); } else if (is(commandParam, "close")) { transactionData = this.loanReadPlatformService.retrieveNewClosureDetails(); + } else if (is(commandParam, "disburse")) { + transactionData = this.loanReadPlatformService.retrieveDisbursalTemplate(loanId); } else { throw new UnrecognizedQueryParamException("command", commandParam); } diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/Loan.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/Loan.java index d6f8a05e0..ea39a792b 100644 --- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/Loan.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/Loan.java @@ -1988,7 +1988,7 @@ public class Loan extends AbstractPersistable { return date; } - private LocalDate getExpectedDisbursedOnLocalDate() { + public LocalDate getExpectedDisbursedOnLocalDate() { LocalDate expectedDisbursementDate = null; if (this.expectedDisbursementDate != null) { expectedDisbursementDate = new LocalDate(this.expectedDisbursementDate); diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanReadPlatformService.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanReadPlatformService.java index 893a6892f..36a647297 100644 --- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanReadPlatformService.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanReadPlatformService.java @@ -31,6 +31,8 @@ public interface LoanReadPlatformService { LoanTransactionData retrieveLoanTransaction(Long loanId, Long transactionId); LoanTransactionData retrieveNewClosureDetails(); + + LoanTransactionData retrieveDisbursalTemplate(Long loanId); LoanAccountData retrieveTemplateWithCompleteGroupAndProductDetails(Long groupId, Long productId); } \ No newline at end of file diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanReadPlatformServiceImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanReadPlatformServiceImpl.java index c54fccf39..8107c2531 100644 --- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanReadPlatformServiceImpl.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanReadPlatformServiceImpl.java @@ -253,6 +253,16 @@ public class LoanReadPlatformServiceImpl implements LoanReadPlatformService { return new LoanTransactionData(null, transactionType, null, null, DateUtils.getLocalDateOfTenant(), null, null, null, null, null); } + @Override + public LoanTransactionData retrieveDisbursalTemplate(final Long loanId) { + final Loan loan = this.loanRepository.findOne(loanId); + if (loan == null) { throw new LoanNotFoundException(loanId); } + final LoanTransactionEnumData transactionType = LoanEnumerations.transactionType(LoanTransactionType.DISBURSEMENT); + final List paymentOptions = loanDropdownReadPlatformService.retrievePaymentTypeOptions(); + return new LoanTransactionData(null, transactionType, null, null, loan.getExpectedDisbursedOnLocalDate(), null, null, null, null, + null, paymentOptions); + } + @Override public LoanTransactionData retrieveLoanTransaction(final Long loanId, final Long transactionId) { @@ -740,4 +750,5 @@ public class LoanReadPlatformServiceImpl implements LoanReadPlatformService { interestPortion, feeChargesPortion, penaltyChargesPortion); } } + } \ No newline at end of file