#MIFOSX-765 fixes validation submittedOnDate
This commit is contained in:
+35
-3
@@ -2053,7 +2053,8 @@ Content-Type: application/json Request Body:
|
||||
"dateFormat": "dd MMMM yyyy",
|
||||
"locale": "en",
|
||||
"active": true,
|
||||
"activationDate": "04 March 2009"
|
||||
"activationDate": "04 March 2009",
|
||||
"submittedOnDate":"04 March 2009"
|
||||
}
|
||||
</code>
|
||||
<code class="method-response">
|
||||
@@ -2378,6 +2379,16 @@ GET https://DomainName/api/v1/clients/{clientId}
|
||||
"displayName": "Client of group",
|
||||
"officeId": 1,
|
||||
"officeName": "Head Office",
|
||||
"timeline": {
|
||||
"activatedOnDate": [
|
||||
2009,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"activatedByUsername": "mifos",
|
||||
"activatedByFirstname": "App",
|
||||
"activatedByLastname": "Administrator"
|
||||
},
|
||||
"groups": [
|
||||
{
|
||||
"id": 1,
|
||||
@@ -3908,7 +3919,8 @@ Content-Type: application/json Request Body:
|
||||
"dateFormat": "dd MMMM yyyy",
|
||||
"locale": "en",
|
||||
"active": true,
|
||||
"activationDate": "04 March 2009"
|
||||
"activationDate": "04 March 2009",
|
||||
"submittedOnDate":"04 March 2009"
|
||||
}
|
||||
</code>
|
||||
<code class="method-response">
|
||||
@@ -4127,7 +4139,17 @@ GET https://DomainName/mifosng-provider/api/v1/groups/1
|
||||
"externalId": "000-1A",
|
||||
"officeId": 1,
|
||||
"officeName": "Head Office",
|
||||
"hierarchy": ".1."
|
||||
"hierarchy": ".1.",
|
||||
"timeline": {
|
||||
"activatedOnDate": [
|
||||
2013,
|
||||
11,
|
||||
14
|
||||
],
|
||||
"activatedByUsername": "mifos",
|
||||
"activatedByFirstname": "App",
|
||||
"activatedByLastname": "Administrator"
|
||||
}
|
||||
}
|
||||
</code>
|
||||
</div>
|
||||
@@ -4144,6 +4166,16 @@ GET https://DomainName/mifosng-provider/api/v1/groups/1?associations=clientMembe
|
||||
"officeId": 1,
|
||||
"officeName": "Head Office",
|
||||
"hierarchy": ".1.",
|
||||
"timeline": {
|
||||
"activatedOnDate": [
|
||||
2013,
|
||||
11,
|
||||
14
|
||||
],
|
||||
"activatedByUsername": "mifos",
|
||||
"activatedByFirstname": "App",
|
||||
"activatedByLastname": "Administrator"
|
||||
},
|
||||
"clientMembers": [
|
||||
{
|
||||
"id": 1,
|
||||
|
||||
+1
-1
@@ -57,7 +57,7 @@ public class ClientApiConstants {
|
||||
public static final Set<String> CLIENT_CREATE_REQUEST_DATA_PARAMETERS = new HashSet<String>(Arrays.asList(localeParamName,
|
||||
dateFormatParamName, groupIdParamName, accountNoParamName, externalIdParamName, mobileNoParamName, firstnameParamName,
|
||||
middlenameParamName, lastnameParamName, fullnameParamName, officeIdParamName, activeParamName, activationDateParamName,
|
||||
staffIdParamName));
|
||||
staffIdParamName,submittedOnDateParamName));
|
||||
|
||||
public static final Set<String> CLIENT_UPDATE_REQUEST_DATA_PARAMETERS = new HashSet<String>(Arrays.asList(localeParamName,
|
||||
dateFormatParamName, accountNoParamName, externalIdParamName, mobileNoParamName, firstnameParamName, middlenameParamName,
|
||||
|
||||
+6
@@ -132,6 +132,12 @@ public final class ClientDataValidator {
|
||||
baseDataValidator.reset().parameter(ClientApiConstants.activeParamName).value(active).trueOrFalseRequired(false);
|
||||
}
|
||||
|
||||
if (this.fromApiJsonHelper.parameterExists(ClientApiConstants.submittedOnDateParamName, element))
|
||||
{
|
||||
final LocalDate submittedOnDate = this.fromApiJsonHelper.extractLocalDateNamed(ClientApiConstants.submittedOnDateParamName, element);
|
||||
baseDataValidator.reset().parameter(ClientApiConstants.submittedOnDateParamName).value(submittedOnDate).notNull();
|
||||
}
|
||||
|
||||
throwExceptionIfValidationWarningsExist(dataValidationErrors);
|
||||
}
|
||||
|
||||
|
||||
@@ -214,6 +214,18 @@ public final class Client extends AbstractPersistable<Long> {
|
||||
throw new PlatformApiDataValidationException(dataValidationErrors);
|
||||
}
|
||||
|
||||
if(activationDate !=null && submittedOnDate.isAfter(activationDate)) {
|
||||
|
||||
final String defaultUserMessage = "submitted date cannot be after the activation date";
|
||||
final ApiParameterError error = ApiParameterError.parameterError("error.msg.clients.submittedOnDate.after.activation.date",
|
||||
defaultUserMessage, ClientApiConstants.submittedOnDateParamName, submittedOnDate);
|
||||
|
||||
final List<ApiParameterError> dataValidationErrors = new ArrayList<ApiParameterError>();
|
||||
dataValidationErrors.add(error);
|
||||
|
||||
throw new PlatformApiDataValidationException(dataValidationErrors);
|
||||
}
|
||||
|
||||
this.submittedOnDate = submittedOnDate.toDate();
|
||||
this.submittedBy = currentUser;
|
||||
|
||||
@@ -325,6 +337,7 @@ public final class Client extends AbstractPersistable<Long> {
|
||||
throw new PlatformApiDataValidationException(dataValidationErrors);
|
||||
}
|
||||
|
||||
|
||||
this.activationDate = activationLocalDate.toDate();
|
||||
this.activatedBy = currentUser;
|
||||
this.officeJoiningDate = this.activationDate;
|
||||
|
||||
+1
-1
@@ -65,7 +65,7 @@ public class GroupingTypesApiConstants {
|
||||
|
||||
public static final Set<String> CENTER_REQUEST_DATA_PARAMETERS = new HashSet<String>(Arrays.asList(localeParamName,
|
||||
dateFormatParamName, idParamName, nameParamName, externalIdParamName, officeIdParamName, staffIdParamName, activeParamName,
|
||||
activationDateParamName, groupMembersParamName));
|
||||
activationDateParamName, groupMembersParamName,submittedOnDateParamName));
|
||||
|
||||
public static final Set<String> GROUP_REQUEST_DATA_PARAMETERS = new HashSet<String>(Arrays.asList(localeParamName, dateFormatParamName,
|
||||
idParamName, nameParamName, externalIdParamName, centerIdParamName, officeIdParamName, staffIdParamName, activeParamName,
|
||||
|
||||
@@ -188,6 +188,18 @@ public final class Group extends AbstractPersistable<Long> {
|
||||
throw new PlatformApiDataValidationException(dataValidationErrors);
|
||||
}
|
||||
|
||||
if(activationDate != null && submittedOnDate.isAfter(activationDate)) {
|
||||
|
||||
final String defaultUserMessage = "submitted date cannot be after the activation date";
|
||||
final ApiParameterError error = ApiParameterError.parameterError("error.msg.group.submittedOnDate.after.activation.date",
|
||||
defaultUserMessage, GroupingTypesApiConstants.submittedOnDateParamName, submittedOnDate);
|
||||
|
||||
final List<ApiParameterError> dataValidationErrors = new ArrayList<ApiParameterError>();
|
||||
dataValidationErrors.add(error);
|
||||
|
||||
throw new PlatformApiDataValidationException(dataValidationErrors);
|
||||
}
|
||||
|
||||
this.submittedOnDate = submittedOnDate.toDate();
|
||||
this.submittedBy = currentUser;
|
||||
}
|
||||
|
||||
+18
@@ -97,6 +97,12 @@ public final class GroupingTypesDataValidator {
|
||||
baseDataValidator.reset().parameter(ClientApiConstants.activeParamName).value(active).trueOrFalseRequired(false);
|
||||
}
|
||||
|
||||
if (this.fromApiJsonHelper.parameterExists(GroupingTypesApiConstants.submittedOnDateParamName, element))
|
||||
{
|
||||
final LocalDate submittedOnDate = this.fromApiJsonHelper.extractLocalDateNamed(GroupingTypesApiConstants.submittedOnDateParamName, element);
|
||||
baseDataValidator.reset().parameter(GroupingTypesApiConstants.submittedOnDateParamName).value(submittedOnDate).notNull();
|
||||
}
|
||||
|
||||
throwExceptionIfValidationWarningsExist(dataValidationErrors);
|
||||
}
|
||||
|
||||
@@ -155,6 +161,12 @@ public final class GroupingTypesDataValidator {
|
||||
baseDataValidator.reset().parameter(ClientApiConstants.activeParamName).value(active).trueOrFalseRequired(false);
|
||||
}
|
||||
|
||||
if (this.fromApiJsonHelper.parameterExists(GroupingTypesApiConstants.submittedOnDateParamName, element))
|
||||
{
|
||||
final LocalDate submittedOnDate = this.fromApiJsonHelper.extractLocalDateNamed(GroupingTypesApiConstants.submittedOnDateParamName, element);
|
||||
baseDataValidator.reset().parameter(GroupingTypesApiConstants.submittedOnDateParamName).value(submittedOnDate).notNull();
|
||||
}
|
||||
|
||||
throwExceptionIfValidationWarningsExist(dataValidationErrors);
|
||||
}
|
||||
|
||||
@@ -209,6 +221,12 @@ public final class GroupingTypesDataValidator {
|
||||
baseDataValidator.reset().parameter(ClientApiConstants.activeParamName).value(active).trueOrFalseRequired(false);
|
||||
}
|
||||
|
||||
if (this.fromApiJsonHelper.parameterExists(GroupingTypesApiConstants.submittedOnDateParamName, element))
|
||||
{
|
||||
final LocalDate submittedOnDate = this.fromApiJsonHelper.extractLocalDateNamed(GroupingTypesApiConstants.submittedOnDateParamName, element);
|
||||
baseDataValidator.reset().parameter(GroupingTypesApiConstants.submittedOnDateParamName).value(submittedOnDate).notNull();
|
||||
}
|
||||
|
||||
throwExceptionIfValidationWarningsExist(dataValidationErrors);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user