Merge pull request #183 from Kitzanos/feature/GEPAFINBE-146

GEPAFINBE-146 ( Updated Validation Call endpoint)
This commit is contained in:
Rinaldo
2025-01-29 08:18:21 +01:00
committed by GitHub
4 changed files with 39 additions and 4 deletions

View File

@@ -403,5 +403,7 @@ public class GepafinConstant {
public static final String EVALUATION_V2_STEP_2 = "EVALUATION_V2_STEP_2"; public static final String EVALUATION_V2_STEP_2 = "EVALUATION_V2_STEP_2";
public static final String ASSIGNED_APPLICATION_STATUS_UPDATED_SUCCESSFULLY = "assigned.application.status.updated.successfully"; public static final String ASSIGNED_APPLICATION_STATUS_UPDATED_SUCCESSFULLY = "assigned.application.status.updated.successfully";
public static final String REQUIRED_REQUESTED_AMOUNT_MSG = "validation.required.requested.amount";
} }

View File

@@ -7,10 +7,7 @@ import java.util.List;
import net.gepafin.tendermanagement.config.Translator; import net.gepafin.tendermanagement.config.Translator;
import net.gepafin.tendermanagement.constants.GepafinConstant; import net.gepafin.tendermanagement.constants.GepafinConstant;
import net.gepafin.tendermanagement.enums.EvaluationVersionEnum; import net.gepafin.tendermanagement.enums.EvaluationVersionEnum;
import net.gepafin.tendermanagement.model.response.CallResponse; import net.gepafin.tendermanagement.model.response.*;
import net.gepafin.tendermanagement.model.response.EvaluationFormResponseBean;
import net.gepafin.tendermanagement.model.response.FlowResponseBean;
import net.gepafin.tendermanagement.model.response.FormResponseBean;
import net.gepafin.tendermanagement.util.FieldValidator; import net.gepafin.tendermanagement.util.FieldValidator;
import net.gepafin.tendermanagement.util.Utils; import net.gepafin.tendermanagement.util.Utils;
import net.gepafin.tendermanagement.web.rest.api.errors.CustomValidationException; import net.gepafin.tendermanagement.web.rest.api.errors.CustomValidationException;
@@ -61,6 +58,34 @@ public class CallValidatorServiceImpl {
if (formResponses == null || formResponses.isEmpty()) { if (formResponses == null || formResponses.isEmpty()) {
data.addError(Translator.toLocale(GepafinConstant.FORM_NOT_FOUND)); data.addError(Translator.toLocale(GepafinConstant.FORM_NOT_FOUND));
} }
boolean isAmountRequestedValid = false;
if (formResponses != null && !formResponses.isEmpty()) {
outerloop:
for (FormResponseBean formResponse : formResponses) {
if (formResponse.getContent() != null && !formResponse.getContent().isEmpty()) {
for (ContentResponseBean content : formResponse.getContent()) {
if ("numberinput".equals(content.getName()) && content.getSettings() != null) {
for (SettingResponseBean setting : content.getSettings()) {
if ("isRequestedAmount".equals(setting.getName())) {
Object value = setting.getValue();
if (Boolean.TRUE.equals(value)) {
isAmountRequestedValid = true;
break outerloop;
} else if (value == null) {
data.addError(Translator.toLocale(GepafinConstant.REQUIRED_REQUESTED_AMOUNT_MSG));
}
}
}
}
}
}
}
}
if (!isAmountRequestedValid) {
data.addError(Translator.toLocale(GepafinConstant.REQUIRED_REQUESTED_AMOUNT_MSG));
}
data.validate(); data.validate();
} }
} }

View File

@@ -363,3 +363,7 @@ evaluation.form.fetched.successfully=Evaluation form fetched successfully.
evaluation.form.not.found=Evaluation form not found. evaluation.form.not.found=Evaluation form not found.
assigned.application.status.updated.successfully=Assigned application status updated successfully. assigned.application.status.updated.successfully=Assigned application status updated successfully.
validation.required.requested.amount=The Requested Amount configuration should be mandatory.

View File

@@ -355,3 +355,7 @@ evaluation.form.not.found=Modulo di valutazione non trovato.
assigned.application.status.updated.successfully=Stato dell'applicazione assegnata aggiornato con successo. assigned.application.status.updated.successfully=Stato dell'applicazione assegnata aggiornato con successo.
validation.required.requested.amount=La configurazione dell'importo richiesto è obbligatoria.