From fd3b6323a4c08fdbc8167296492e7bd99d5b34e4 Mon Sep 17 00:00:00 2001 From: Emmanuel Nnaa Date: Tue, 19 Jul 2016 12:00:20 +0200 Subject: [PATCH] commit for FINERACT-53 (Make the clientId URL parameter optional for 'loan details template' retrieval) --- .../portfolio/loanaccount/api/LoansApiResource.java | 13 ++++++++----- .../portfolio/loanaccount/data/LoanAccountData.java | 12 +++++++++++- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/api/LoansApiResource.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/api/LoansApiResource.java index 5e71e0337..5f3754c12 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/api/LoansApiResource.java +++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/api/LoansApiResource.java @@ -273,12 +273,15 @@ public class LoansApiResource { // for JLG loan both client and group details are required if (templateType.equals("individual") || templateType.equals("jlg")) { - final LoanAccountData loanAccountClientDetails = this.loanReadPlatformService.retrieveClientDetailsTemplate(clientId); + if(clientId == null) { + newLoanAccount = newLoanAccount == null ? LoanAccountData.emptyTemplate() : newLoanAccount; + } else { + final LoanAccountData loanAccountClientDetails = this.loanReadPlatformService.retrieveClientDetailsTemplate(clientId); - officeId = loanAccountClientDetails.officeId(); - - newLoanAccount = newLoanAccount == null ? loanAccountClientDetails : LoanAccountData.populateClientDefaults(newLoanAccount, - loanAccountClientDetails); + officeId = loanAccountClientDetails.officeId(); + newLoanAccount = newLoanAccount == null ? loanAccountClientDetails : LoanAccountData.populateClientDefaults(newLoanAccount, + loanAccountClientDetails); + } // if it's JLG loan add group details if (templateType.equals("jlg")) { diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/data/LoanAccountData.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/data/LoanAccountData.java index fa6881d74..0c158ca07 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/data/LoanAccountData.java +++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/data/LoanAccountData.java @@ -1557,4 +1557,14 @@ public class LoanAccountData { return (this.repaymentFrequencyType.getId().intValue() == PeriodFrequencyType.MONTHS.getValue()); } -} \ No newline at end of file + /** + * Used to produce a {@link LoanAccountData} with only collateral options for now. + * + * @return {@link LoanAccountData} object + */ + public static LoanAccountData emptyTemplate() { + final Collection loanCollateralOptions = null; + + return LoanAccountData.collateralTemplate(loanCollateralOptions); + } +}