From 27624633117ac359b86ad685055a516aab4fb0cb Mon Sep 17 00:00:00 2001 From: Anuruddha Premalal Date: Fri, 19 Apr 2013 20:47:24 +0530 Subject: [PATCH] perform client activation date validation with office activation date before creation. --- .../organisation/office/domain/Office.java | 4 ++++ .../portfolio/client/domain/Client.java | 12 +++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/mifosng-provider/src/main/java/org/mifosplatform/organisation/office/domain/Office.java b/mifosng-provider/src/main/java/org/mifosplatform/organisation/office/domain/Office.java index 4d84c2807..0d76f35ce 100644 --- a/mifosng-provider/src/main/java/org/mifosplatform/organisation/office/domain/Office.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/organisation/office/domain/Office.java @@ -217,4 +217,8 @@ public class Office extends AbstractPersistable { return match; } + + public boolean isBefore(final Date baseDate) { + return this.openingDate.before(baseDate); + } } \ No newline at end of file diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/client/domain/Client.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/client/domain/Client.java index 07ca9ef45..d74b60f1d 100644 --- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/client/domain/Client.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/client/domain/Client.java @@ -356,7 +356,17 @@ public final class Client extends AbstractPersistable { baseDataValidator.reset().parameter("middlename").value(this.middlename).ignoreIfNull().notExceedingLengthOf(50); baseDataValidator.reset().parameter("lastname").value(this.lastname).notBlank().notExceedingLengthOf(50); } - + + if(this.activationDate!=null) + { + if(!office.isBefore(this.activationDate)){ + final String defaultUserMessage = "Client activation date cannot be a date before the Office activation date"; + final ApiParameterError error = ApiParameterError.parameterError("error.msg.clients.activationDate.cannot.be.before.Office.activatoin.date", + defaultUserMessage, "activationDate", this.activationDate); + dataValidationErrors.add(error); + } + + } if (!dataValidationErrors.isEmpty()) { throw new PlatformApiDataValidationException("validation.msg.validation.errors.exist", "Validation errors exist.", dataValidationErrors); } }