diff --git a/fineract-provider/src/main/java/org/apache/fineract/adhocquery/service/AdHocDataValidator.java b/fineract-provider/src/main/java/org/apache/fineract/adhocquery/service/AdHocDataValidator.java index b96cc108f..bb4434be3 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/adhocquery/service/AdHocDataValidator.java +++ b/fineract-provider/src/main/java/org/apache/fineract/adhocquery/service/AdHocDataValidator.java @@ -80,7 +80,7 @@ public final class AdHocDataValidator { baseDataValidator.reset().parameter("tableFields").value(tableFields).notBlank().notExceedingLengthOf(1000); final String email = this.fromApiJsonHelper.extractStringNamed("email", element); - baseDataValidator.reset().parameter("email").value(email).notBlank().notExceedingLengthOf(500); + baseDataValidator.reset().parameter("email").value(email).ignoreIfNull().notExceedingLengthOf(500); final Long reportRunFrequencyCode = this.fromApiJsonHelper.extractLongNamed("reportRunFrequency", element); if (reportRunFrequencyCode != null) { @@ -126,7 +126,7 @@ public final class AdHocDataValidator { } if (this.fromApiJsonHelper.parameterExists("email", element)) { final String email = this.fromApiJsonHelper.extractStringNamed("email", element); - baseDataValidator.reset().parameter("email").value(email).notBlank().notExceedingLengthOf(500); + baseDataValidator.reset().parameter("email").value(email).ignoreIfNull().notExceedingLengthOf(500); } if (this.fromApiJsonHelper.parameterExists("reportRunFrequency", element)) { final Long reportRunFrequencyCode = this.fromApiJsonHelper.extractLongNamed("reportRunFrequency", element); diff --git a/fineract-provider/src/main/resources/sql/migrations/core_db/V337__nullable-adhoc-email.sql b/fineract-provider/src/main/resources/sql/migrations/core_db/V337__nullable-adhoc-email.sql new file mode 100644 index 000000000..0f7296fb0 --- /dev/null +++ b/fineract-provider/src/main/resources/sql/migrations/core_db/V337__nullable-adhoc-email.sql @@ -0,0 +1,20 @@ +-- +-- Licensed to the Apache Software Foundation (ASF) under one +-- or more contributor license agreements. See the NOTICE file +-- distributed with this work for additional information +-- regarding copyright ownership. The ASF licenses this file +-- to you under the Apache License, Version 2.0 (the +-- "License"); you may not use this file except in compliance +-- with the License. You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, +-- software distributed under the License is distributed on an +-- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +-- KIND, either express or implied. See the License for the +-- specific language governing permissions and limitations +-- under the License. +-- + +ALTER TABLE m_adhoc MODIFY `email` VARCHAR(500) NULL DEFAULT NULL; \ No newline at end of file