diff --git a/CHANGELOG.md b/CHANGELOG.md index c50275960..a6d778d55 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ See VERSIONING (https://github.com/openMF/mifosx/blob/master/VERSIONING.md) for Releases =============== +1. 28 July 2013 - 1.6.1.RELEASE 1. 20 July 2013 - 1.6.0.RELEASE 1. 14 July 2013 - 1.5.0.RELEASE 1. 25 Jun 2013 - 1.4.1.RELEASE @@ -27,6 +28,19 @@ Releases 1. 05 April 2013 - 0.11.1.beta 1. 05 April 2013 - 0.11.0.beta +1.6.1.RELEASE +============= +Bug Release + +Platform & API + +Bug + - [MIFOSX-485] - In Groups -> Group loan under "Submitted and pending approval" state -> "Change loan application" page,not able to edit/update "Sync repayments with meeting" and "Loan term" fields. + - [MIFOSX-564] - Create data table does not work for attached request + +Reference App + - [MIFOSX-560] - In "Modify Application page" if Product is changed, it not getting updated in Loan account overview list + 1.6.0.RELEASE ============= Feature (and Bug) Release diff --git a/api-docs/apiLive.htm b/api-docs/apiLive.htm index 25787d567..aa683f780 100644 --- a/api-docs/apiLive.htm +++ b/api-docs/apiLive.htm @@ -90,7 +90,7 @@
- +

Overview

diff --git a/mifosng-provider/gradle.properties b/mifosng-provider/gradle.properties index 90574c27f..414b7ebda 100644 --- a/mifosng-provider/gradle.properties +++ b/mifosng-provider/gradle.properties @@ -1 +1 @@ -releaseVersion=1.7.0.DEVELOP +releaseVersion=1.7.0.RELEASE 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 ba498e484..0fa3cf8f3 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 @@ -2050,7 +2050,7 @@ public class Loan extends AbstractPersistable { return this.submittedOnDate == null ? false : (new LocalDate(submittedOnDate)).isAfter(compareDate); } - private LocalDate getSubmittedOnDate() { + public LocalDate getSubmittedOnDate() { return (LocalDate) ObjectUtils.defaultIfNull(new LocalDate(this.submittedOnDate), null); } diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanApplicationWritePlatformServiceJpaRepositoryImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanApplicationWritePlatformServiceJpaRepositoryImpl.java index 55ce8db3d..2a9024112 100644 --- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanApplicationWritePlatformServiceJpaRepositoryImpl.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanApplicationWritePlatformServiceJpaRepositoryImpl.java @@ -151,14 +151,14 @@ public class LoanApplicationWritePlatformServiceJpaRepositoryImpl implements Loa final LoanProduct loanProduct = this.loanProductRepository.findOne(productId); if (loanProduct == null) { throw new LoanProductNotFoundException(productId); } - validateSubmittedOnDate(command, loanProduct); - this.loanProductCommandFromApiJsonDeserializer.validateMinMaxConstraints(command.parsedJson(), baseDataValidator, loanProduct); if (!dataValidationErrors.isEmpty()) { throw new PlatformApiDataValidationException(dataValidationErrors); } final Loan newLoanApplication = loanAssembler.assembleFrom(command, currentUser); + validateSubmittedOnDate(newLoanApplication); + final LoanProductRelatedDetail productRelatedDetail = newLoanApplication.repaymentScheduleDetail(); this.fromApiJsonDeserializer.validateLoanTermAndRepaidEveryValues(newLoanApplication.getTermFrequency(), newLoanApplication.getTermPeriodFrequencyType(), productRelatedDetail.getNumberOfRepayments(), productRelatedDetail.getRepayEvery(), @@ -214,8 +214,6 @@ public class LoanApplicationWritePlatformServiceJpaRepositoryImpl implements Loa final Loan existingLoanApplication = retrieveLoanBy(loanId); - validateSubmittedOnDate(command, existingLoanApplication.loanProduct()); - if (!existingLoanApplication.isSubmittedAndPendingApproval()) { throw new LoanApplicationNotInSubmittedAndPendingApprovalStateCannotBeModified( loanId); } @@ -245,7 +243,8 @@ public class LoanApplicationWritePlatformServiceJpaRepositoryImpl implements Loa existingLoanApplication.updateInterestRateFrequencyType(); } } - + + validateSubmittedOnDate(existingLoanApplication); // validate min and maximum constraints this.fromApiJsonDeserializer.validateForModify(command.json()); final LoanProductRelatedDetail productRelatedDetail = existingLoanApplication.repaymentScheduleDetail(); @@ -545,10 +544,10 @@ public class LoanApplicationWritePlatformServiceJpaRepositoryImpl implements Loa return loan; } - private void validateSubmittedOnDate(final JsonCommand command, final LoanProduct loanProduct) { - final LocalDate startDate = loanProduct.getStartDate(); - final LocalDate closeDate = loanProduct.getCloseDate(); - final LocalDate submittedOnDate = command.localDateValueOfParameterNamed("submittedOnDate"); + private void validateSubmittedOnDate(final Loan loan) { + final LocalDate startDate = loan.loanProduct().getStartDate(); + final LocalDate closeDate = loan.loanProduct().getCloseDate(); + final LocalDate submittedOnDate = loan.getSubmittedOnDate(); String defaultUserMessage = ""; if (startDate != null && submittedOnDate.isBefore(startDate)) {