From b997fb3a5aa89ddf75dfe350b0e9dfdf0e64c17e Mon Sep 17 00:00:00 2001 From: nisha Date: Tue, 24 Sep 2024 20:03:28 +0530 Subject: [PATCH 1/5] Added callStatus in get api of form --- src/main/java/net/gepafin/tendermanagement/dao/FormDao.java | 1 + .../tendermanagement/model/response/FormResponseBean.java | 2 ++ 2 files changed, 3 insertions(+) diff --git a/src/main/java/net/gepafin/tendermanagement/dao/FormDao.java b/src/main/java/net/gepafin/tendermanagement/dao/FormDao.java index 8121f9e6..1d5ad1a1 100644 --- a/src/main/java/net/gepafin/tendermanagement/dao/FormDao.java +++ b/src/main/java/net/gepafin/tendermanagement/dao/FormDao.java @@ -73,6 +73,7 @@ public class FormDao { formResponseBean.setContent(Utils.convertJsonStringToList(formEntity.getContent(), ContentResponseBean.class)); formResponseBean.setLabel(formEntity.getLabel()); formResponseBean.setCallId(formEntity.getCall().getId()); + formResponseBean.setCallStatus(formEntity.getCall().getStatus()); return formResponseBean; } public FormResponseBean createForm(Long callId,FormRequest formRequest){ diff --git a/src/main/java/net/gepafin/tendermanagement/model/response/FormResponseBean.java b/src/main/java/net/gepafin/tendermanagement/model/response/FormResponseBean.java index 7e3ebce1..7a1d178e 100644 --- a/src/main/java/net/gepafin/tendermanagement/model/response/FormResponseBean.java +++ b/src/main/java/net/gepafin/tendermanagement/model/response/FormResponseBean.java @@ -9,6 +9,8 @@ public class FormResponseBean { private Long id; + private String callStatus; + private String label; private Long callId; From 49f5eb08838f21e360395b63508d9a0d502dd348 Mon Sep 17 00:00:00 2001 From: nisha Date: Wed, 25 Sep 2024 12:25:29 +0530 Subject: [PATCH 2/5] Updated response of application api --- .../constants/GepafinConstant.java | 3 +- .../tendermanagement/dao/ApplicationDao.java | 32 +++++++++++++++++++ .../tendermanagement/dao/FlowFormDao.java | 28 ++++++++++------ .../model/response/ApplicationResponse.java | 8 +++++ src/main/resources/message_en.properties | 2 ++ src/main/resources/message_it.properties | 3 ++ 6 files changed, 66 insertions(+), 10 deletions(-) diff --git a/src/main/java/net/gepafin/tendermanagement/constants/GepafinConstant.java b/src/main/java/net/gepafin/tendermanagement/constants/GepafinConstant.java index 395d883c..ad8ca5b4 100644 --- a/src/main/java/net/gepafin/tendermanagement/constants/GepafinConstant.java +++ b/src/main/java/net/gepafin/tendermanagement/constants/GepafinConstant.java @@ -155,6 +155,7 @@ public class GepafinConstant { public static final String IS_CAP="isCAP"; public static final String IS_CODICE_FISCALE="isCodiceFiscale"; public static final String IS_PIVA="isPIVA"; - public static final String FAILED_RETAIN_FIELD="failed.retain.field"; + public static final String TOTAL_STEPS_NOT_BE_ZERO="total.steps.not.zero"; + public static final String COMPLETED_STEPS_NOT_VALID="completed.steps.not.valid"; } diff --git a/src/main/java/net/gepafin/tendermanagement/dao/ApplicationDao.java b/src/main/java/net/gepafin/tendermanagement/dao/ApplicationDao.java index d153ed5c..8d19b48d 100644 --- a/src/main/java/net/gepafin/tendermanagement/dao/ApplicationDao.java +++ b/src/main/java/net/gepafin/tendermanagement/dao/ApplicationDao.java @@ -13,14 +13,17 @@ import net.gepafin.tendermanagement.model.response.*; import net.gepafin.tendermanagement.repositories.ApplicationFormFieldRepository; import net.gepafin.tendermanagement.repositories.ApplicationFormRepository; import net.gepafin.tendermanagement.repositories.ApplicationRepository; +import net.gepafin.tendermanagement.repositories.FlowEdgesRepository; import net.gepafin.tendermanagement.service.CallService; import net.gepafin.tendermanagement.service.DocumentService; import net.gepafin.tendermanagement.service.FormService; import net.gepafin.tendermanagement.util.DateTimeUtil; +import net.gepafin.tendermanagement.util.FieldValidator; import net.gepafin.tendermanagement.util.Utils; import net.gepafin.tendermanagement.web.rest.api.errors.CustomValidationException; import net.gepafin.tendermanagement.web.rest.api.errors.ResourceNotFoundException; import net.gepafin.tendermanagement.web.rest.api.errors.Status; +import org.checkerframework.checker.units.qual.A; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -56,6 +59,12 @@ public class ApplicationDao { @Autowired private CallDao callDao; + @Autowired + private FlowFormDao flowFormDao; + + @Autowired + private FlowEdgesRepository flowEdgesRepository; + public ApplicationResponseBean createApplication(ApplicationRequestBean applicationRequestBean, UserEntity userEntity, Long formId,Long applicationId) { FormEntity formEntity = formService.validateForm(formId); CallEntity call = callService.validatePublishedCall(formEntity.getCall().getId()); @@ -204,7 +213,16 @@ public class ApplicationDao { private ApplicationResponse getApplicationResponse(ApplicationEntity applicationEntity) { ApplicationResponse responseBean = new ApplicationResponse(); + List flowEdgesList = flowEdgesRepository.findByCallId(applicationEntity.getCall().getId()); + Long totalFormSteps = flowFormDao.calculateTotalSteps(flowEdgesList); + List applicationFormList = applicationFormRepository.findByApplicationId(applicationEntity.getId()); + Long completedSteps=(Long.valueOf(applicationFormList.size())); + Integer progress=calculateProgress(totalFormSteps,completedSteps); responseBean.setId(applicationEntity.getId()); + responseBean.setProgress(progress); + responseBean.setCallTitle(applicationEntity.getCall().getName()); + responseBean.setCallEndDate(applicationEntity.getCall().getEndDate()); + responseBean.setModifiedDate(applicationEntity.getCall().getUpdatedDate()); responseBean.setCallId(applicationEntity.getCall().getId()); responseBean.setSubmissionDate(applicationEntity.getSubmissionDate()); responseBean.setStatus(applicationEntity.getStatus()); @@ -451,4 +469,18 @@ public class ApplicationDao { } saveApplicationEntity(applicationEntity); } + + public Integer calculateProgress(Long totalSteps, Long completedSteps) { + if (FieldValidator.isNullOrZero(totalSteps)) { + throw new CustomValidationException(Status.BAD_REQUEST,Translator.toLocale(GepafinConstant.TOTAL_STEPS_NOT_BE_ZERO)); + } + + if (completedSteps < 0 || completedSteps > totalSteps) { + throw new CustomValidationException(Status.BAD_REQUEST,Translator.toLocale(GepafinConstant.COMPLETED_STEPS_NOT_VALID)); + } + + double progress = ((double) completedSteps / totalSteps) * 100; + return (int) Math.round(progress); + } + } diff --git a/src/main/java/net/gepafin/tendermanagement/dao/FlowFormDao.java b/src/main/java/net/gepafin/tendermanagement/dao/FlowFormDao.java index a6f6a867..63287e0d 100644 --- a/src/main/java/net/gepafin/tendermanagement/dao/FlowFormDao.java +++ b/src/main/java/net/gepafin/tendermanagement/dao/FlowFormDao.java @@ -290,21 +290,31 @@ public class FlowFormDao { nextOrPreviousFormResponse.setCallTitle(applicationEntity.getCall().getName()); List flowEdgesList = flowEdgesRepository.findByCallId(applicationEntity.getCall().getId()); - Long totalFormSteps = 3l; - if (flowEdgesList.size() == 1) { - totalFormSteps = 2l; - } + Long totalFormSteps = calculateTotalSteps(flowEdgesList); + Long currentStep = calculateCurrentStep(formEntity); + List applicationFormList = applicationFormRepository.findByApplicationId(applicationEntity.getId()); + nextOrPreviousFormResponse.setTotalFormSteps(totalFormSteps); + nextOrPreviousFormResponse.setCompletedSteps(Long.valueOf(applicationFormList.size())); + nextOrPreviousFormResponse.setCurrentStep(currentStep); + return nextOrPreviousFormResponse; + } + + public Long calculateCurrentStep(FormEntity formEntity) { Long currentStep = 2l; if (formEntity.getId().equals(formEntity.getCall().getInitialForm())) { currentStep = 1l; } else if (formEntity.getId().equals(formEntity.getCall().getFinalForm())) { currentStep = 3l; } - List applicationFormList = applicationFormRepository.findByApplicationId(applicationEntity.getId()); - nextOrPreviousFormResponse.setTotalFormSteps(totalFormSteps); - nextOrPreviousFormResponse.setCompletedSteps(Long.valueOf(applicationFormList.size())); - nextOrPreviousFormResponse.setCurrentStep(currentStep); - return nextOrPreviousFormResponse; + return currentStep; + } + + public Long calculateTotalSteps(List flowEdgesList) { + Long totalFormSteps = 3l; + if (flowEdgesList.size() == 1) { + totalFormSteps = 2l; + } + return totalFormSteps; } private Long getDefaultForm(ApplicationEntity applicationEntity) { diff --git a/src/main/java/net/gepafin/tendermanagement/model/response/ApplicationResponse.java b/src/main/java/net/gepafin/tendermanagement/model/response/ApplicationResponse.java index fdb0f6f3..b5a0fbb2 100644 --- a/src/main/java/net/gepafin/tendermanagement/model/response/ApplicationResponse.java +++ b/src/main/java/net/gepafin/tendermanagement/model/response/ApplicationResponse.java @@ -13,6 +13,14 @@ public class ApplicationResponse{ private Long callId; + private String callTitle; + + private LocalDateTime callEndDate; + + private LocalDateTime modifiedDate; + + private Integer progress; + private LocalDateTime submissionDate; private String status; diff --git a/src/main/resources/message_en.properties b/src/main/resources/message_en.properties index 981ed852..12b06608 100644 --- a/src/main/resources/message_en.properties +++ b/src/main/resources/message_en.properties @@ -184,3 +184,5 @@ valid.vat.number=The VAT number is not valid for field {0}. failed.retain.field=Failed to retain specific fields. application.is.incomplete = The application is incomplete. +total.steps.not.zero=Total steps cannot be zero. +completed.steps.not.valid=Completed steps should be between 0 and total steps. \ No newline at end of file diff --git a/src/main/resources/message_it.properties b/src/main/resources/message_it.properties index 5a7899df..a7d9068e 100644 --- a/src/main/resources/message_it.properties +++ b/src/main/resources/message_it.properties @@ -176,3 +176,6 @@ validation.marca.da.bollo=Il campo {0} deve essere una Marca Da Bollo valida con validation.piva=Il numero di partita IVA per {0} deve essere lungo fino a 11 cifre. valid.vat.number=Il numero di partita IVA non � valido per il campo {0}. failed.retain.field=Impossibile conservare campi specifici. + +total.steps.not.zero=Il totale dei passaggi non può essere zero. +completed.steps.not.valid=I passaggi completati devono essere compresi tra 0 e il totale dei passaggi. From cfdb872f49a44a7a217d124555f3596a5c57161a Mon Sep 17 00:00:00 2001 From: nisha Date: Wed, 25 Sep 2024 16:33:41 +0530 Subject: [PATCH 3/5] updated code --- .../tendermanagement/dao/ApplicationDao.java | 18 ++++++++++++++---- .../repositories/ApplicationRepository.java | 3 +++ .../tendermanagement/web/rest/api/FormApi.java | 2 ++ .../web/rest/api/FormFieldApi.java | 6 ++++++ 4 files changed, 25 insertions(+), 4 deletions(-) diff --git a/src/main/java/net/gepafin/tendermanagement/dao/ApplicationDao.java b/src/main/java/net/gepafin/tendermanagement/dao/ApplicationDao.java index 8d19b48d..6b310bc6 100644 --- a/src/main/java/net/gepafin/tendermanagement/dao/ApplicationDao.java +++ b/src/main/java/net/gepafin/tendermanagement/dao/ApplicationDao.java @@ -174,10 +174,9 @@ public class ApplicationDao { } public List getAllApplications(UserEntity userEntity, Long callId) { - RoleStatusEnum roleStatus = RoleStatusEnum.valueOf(userEntity.getRoleEntity().getRoleType()); - boolean isBeneficiary = RoleStatusEnum.ROLE_BENEFICIARY.equals(roleStatus); + boolean isBeneficiary = isBeneficiary(userEntity); - log.info("Fetching applications for RoleType: {}", roleStatus); + log.info("Fetching applications for RoleType: {}", userEntity.getRoleEntity().getRoleType()); List applicationResponses = new ArrayList<>(); if (callId != null) { @@ -351,7 +350,12 @@ public class ApplicationDao { public ApplicationGetResponseBean getApplicationByFormId( Long applicationId,Long formId, UserEntity userEntity) { List formApplicationResponses = new ArrayList<>(); List formEntities = new ArrayList<>(); - ApplicationEntity applicationEntity = applicationRepository.findById(applicationId) + boolean isBeneficiary = isBeneficiary(userEntity); + ApplicationEntity applicationEntity = isBeneficiary + ? applicationRepository.findByIdAndUserIdAndIsDeletedFalse(applicationId,userEntity.getId()) + .orElseThrow(() -> new CustomValidationException(Status.BAD_REQUEST, Translator.toLocale(GepafinConstant.APPLICATION_NOT_FOUND_MSG))) + : applicationRepository.findById(applicationId) + .stream().findFirst() .orElseThrow(() -> new CustomValidationException(Status.BAD_REQUEST, Translator.toLocale(GepafinConstant.APPLICATION_NOT_FOUND_MSG))); if (formId != null) { @@ -374,6 +378,12 @@ public class ApplicationDao { return createApplicationGetResponseBean(applicationEntity, formEntities, formApplicationResponses); } + private boolean isBeneficiary(UserEntity userEntity) { + RoleStatusEnum roleStatus = RoleStatusEnum.valueOf(userEntity.getRoleEntity().getRoleType()); + boolean isBeneficiary = RoleStatusEnum.ROLE_BENEFICIARY.equals(roleStatus); + return isBeneficiary; + } + private void addFormApplication(FormEntity formEntity, ApplicationEntity applicationEntity, List formApplicationResponses) { FormApplicationResponse formApplicationResponse = processForm(formEntity, applicationEntity); diff --git a/src/main/java/net/gepafin/tendermanagement/repositories/ApplicationRepository.java b/src/main/java/net/gepafin/tendermanagement/repositories/ApplicationRepository.java index 8d41608c..ad9104a5 100644 --- a/src/main/java/net/gepafin/tendermanagement/repositories/ApplicationRepository.java +++ b/src/main/java/net/gepafin/tendermanagement/repositories/ApplicationRepository.java @@ -23,4 +23,7 @@ public interface ApplicationRepository extends JpaRepository findByCallIdAndIsDeletedFalse(Long callId); public List findByIsDeletedFalse(); + + public Optional findByIdAndUserIdAndIsDeletedFalse(Long id,Long userId); + } diff --git a/src/main/java/net/gepafin/tendermanagement/web/rest/api/FormApi.java b/src/main/java/net/gepafin/tendermanagement/web/rest/api/FormApi.java index 04417439..99eb8835 100644 --- a/src/main/java/net/gepafin/tendermanagement/web/rest/api/FormApi.java +++ b/src/main/java/net/gepafin/tendermanagement/web/rest/api/FormApi.java @@ -49,6 +49,7 @@ public interface FormApi { @ExampleObject(value = ErrorConstants.BADREQUEST_ERROR_EXAMPLE) })) }) @PutMapping(value = "/{formId}", produces = { "application/json" }) + @PreAuthorize("hasRole('ROLE_SUPER_ADMIN')") ResponseEntity> updateForm(HttpServletRequest request, @Parameter(description = "The form ID", required = true) @PathVariable("formId") Long formId, @Parameter(description = "form request object", required = true) @Valid @RequestBody FormRequest formRequest,@Parameter(description = "force delete flow ",required = true)@RequestParam(value = "forceDeleteFlow",required = true)Boolean forceDeleteFlow); @@ -78,6 +79,7 @@ public interface FormApi { @ApiResponse(responseCode = "400", description = "Bad Request", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = { @ExampleObject(value = ErrorConstants.BADREQUEST_ERROR_EXAMPLE) })) }) @DeleteMapping(value = "/{formId}") + @PreAuthorize("hasRole('ROLE_SUPER_ADMIN')") ResponseEntity> deleteForm(HttpServletRequest request, @Parameter(description = "The form ID", required = true) @PathVariable("formId") Long formId); diff --git a/src/main/java/net/gepafin/tendermanagement/web/rest/api/FormFieldApi.java b/src/main/java/net/gepafin/tendermanagement/web/rest/api/FormFieldApi.java index 341b3fed..0aeecf0f 100644 --- a/src/main/java/net/gepafin/tendermanagement/web/rest/api/FormFieldApi.java +++ b/src/main/java/net/gepafin/tendermanagement/web/rest/api/FormFieldApi.java @@ -13,6 +13,7 @@ import net.gepafin.tendermanagement.model.util.Response; import net.gepafin.tendermanagement.web.rest.api.errors.ErrorConstants; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; +import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import java.util.List; @@ -30,6 +31,7 @@ public interface FormFieldApi { @ExampleObject(value = ErrorConstants.BADREQUEST_ERROR_EXAMPLE) })) }) @PostMapping(value = "", produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE) + @PreAuthorize("hasRole('ROLE_SUPER_ADMIN')") public ResponseEntity> createFormField(HttpServletRequest request, @Parameter(description = "form field request object", required = true) @Valid @RequestBody FormFieldRequest formFieldRequest); @@ -46,6 +48,7 @@ public interface FormFieldApi { @ExampleObject(value = ErrorConstants.BADREQUEST_ERROR_EXAMPLE) })) }) @PutMapping(value = "/{formFieldId}", produces = { "application/json" }) + @PreAuthorize("hasRole('ROLE_SUPER_ADMIN')") ResponseEntity> updateFormField(HttpServletRequest request, @Parameter(description = "The form field ID", required = true) @PathVariable("formFieldId") Long formFieldId, @Parameter(description = "form field request object", required = true) @Valid @RequestBody FormFieldRequest formFieldRequest); @@ -61,6 +64,7 @@ public interface FormFieldApi { @ExampleObject(value = ErrorConstants.BADREQUEST_ERROR_EXAMPLE) })) }) @GetMapping(value = "/{formFieldId}", produces = { "application/json" }) + @PreAuthorize("hasRole('ROLE_SUPER_ADMIN')") ResponseEntity> getFormFieldById(HttpServletRequest request, @Parameter(description = "The form field ID", required = true) @PathVariable("formFieldId") Long formFieldId); @@ -75,6 +79,7 @@ public interface FormFieldApi { @ApiResponse(responseCode = "400", description = "Bad Request", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = { @ExampleObject(value = ErrorConstants.BADREQUEST_ERROR_EXAMPLE) })) }) @DeleteMapping(value = "/{formFieldId}") + @PreAuthorize("hasRole('ROLE_SUPER_ADMIN')") ResponseEntity> deleteForm(HttpServletRequest request, @Parameter(description = "The form field ID", required = true) @PathVariable("formFieldId") Long formFieldId); @@ -89,6 +94,7 @@ public interface FormFieldApi { @ExampleObject(value = ErrorConstants.BADREQUEST_ERROR_EXAMPLE) })) }) @GetMapping(value = "", produces = { "application/json" }) + @PreAuthorize("hasRole('ROLE_SUPER_ADMIN')") ResponseEntity>> getAllFormField(HttpServletRequest request); } From db42874e75ff4c57151532ad02119b74247bdede Mon Sep 17 00:00:00 2001 From: nisha Date: Wed, 25 Sep 2024 18:12:31 +0530 Subject: [PATCH 4/5] Applied validation application form field --- .../constants/GepafinConstant.java | 1 + .../tendermanagement/dao/ApplicationDao.java | 21 +++++++++++++++++++ src/main/resources/message_en.properties | 3 ++- src/main/resources/message_it.properties | 1 + 4 files changed, 25 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/gepafin/tendermanagement/constants/GepafinConstant.java b/src/main/java/net/gepafin/tendermanagement/constants/GepafinConstant.java index ad8ca5b4..00fdc267 100644 --- a/src/main/java/net/gepafin/tendermanagement/constants/GepafinConstant.java +++ b/src/main/java/net/gepafin/tendermanagement/constants/GepafinConstant.java @@ -158,4 +158,5 @@ public class GepafinConstant { public static final String FAILED_RETAIN_FIELD="failed.retain.field"; public static final String TOTAL_STEPS_NOT_BE_ZERO="total.steps.not.zero"; public static final String COMPLETED_STEPS_NOT_VALID="completed.steps.not.valid"; + public static final String FIELD_ID_NOT_FOUND="field.id.not.found"; } diff --git a/src/main/java/net/gepafin/tendermanagement/dao/ApplicationDao.java b/src/main/java/net/gepafin/tendermanagement/dao/ApplicationDao.java index 6b310bc6..8c05ca89 100644 --- a/src/main/java/net/gepafin/tendermanagement/dao/ApplicationDao.java +++ b/src/main/java/net/gepafin/tendermanagement/dao/ApplicationDao.java @@ -29,6 +29,7 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import java.text.MessageFormat; import java.time.LocalDateTime; import java.util.*; import java.util.stream.Collectors; @@ -68,6 +69,7 @@ public class ApplicationDao { public ApplicationResponseBean createApplication(ApplicationRequestBean applicationRequestBean, UserEntity userEntity, Long formId,Long applicationId) { FormEntity formEntity = formService.validateForm(formId); CallEntity call = callService.validatePublishedCall(formEntity.getCall().getId()); + validateFormFields(applicationRequestBean,formEntity); ApplicationEntity applicationEntity = validateApplication(applicationId); if(Boolean.TRUE.equals(applicationEntity.getStatus().equals(ApplicationStatusTypeEnum.SUBMIT.getValue()))){ throw new CustomValidationException(Status.BAD_REQUEST,Translator.toLocale(GepafinConstant.APPLICATION_ALREADY_SUBMITTED)); @@ -492,5 +494,24 @@ public class ApplicationDao { double progress = ((double) completedSteps / totalSteps) * 100; return (int) Math.round(progress); } + public void validateFormFields(ApplicationRequestBean request, FormEntity formEntity) { + List errors=new ArrayList<>(); + List contentResponseBeans=Utils.convertJsonStringToList(formEntity.getContent(),ContentResponseBean.class); + + List requestFields = request.getFormFields(); + + Map contentMap = contentResponseBeans.stream() + .collect(Collectors.toMap(ContentResponseBean::getId, ContentResponseBean::getLabel)); // Change getLabel() if needed + FieldValidator validator = FieldValidator.create(); + for (ApplicationFormFieldRequestBean requestField : requestFields) { + String fieldId = requestField.getFieldId(); + + if (!contentMap.containsKey(fieldId)) { + validator.addError(MessageFormat.format(Translator.toLocale(GepafinConstant.FIELD_ID_NOT_FOUND), fieldId)); + } + + } + validator.validate(); + } } diff --git a/src/main/resources/message_en.properties b/src/main/resources/message_en.properties index 12b06608..9f10dba0 100644 --- a/src/main/resources/message_en.properties +++ b/src/main/resources/message_en.properties @@ -185,4 +185,5 @@ failed.retain.field=Failed to retain specific fields. application.is.incomplete = The application is incomplete. total.steps.not.zero=Total steps cannot be zero. -completed.steps.not.valid=Completed steps should be between 0 and total steps. \ No newline at end of file +completed.steps.not.valid=Completed steps should be between 0 and total steps. +field.id.not.found=Field ID {0} does not exist in the form structure. \ No newline at end of file diff --git a/src/main/resources/message_it.properties b/src/main/resources/message_it.properties index a7d9068e..7a90dd8e 100644 --- a/src/main/resources/message_it.properties +++ b/src/main/resources/message_it.properties @@ -179,3 +179,4 @@ failed.retain.field=Impossibile conservare campi specifici. total.steps.not.zero=Il totale dei passaggi non può essere zero. completed.steps.not.valid=I passaggi completati devono essere compresi tra 0 e il totale dei passaggi. +field.id.not.found=L'ID campo {0} non esiste nella struttura del modulo. From ccaa3c9ffef279d69aa1023844d878b000cc7491 Mon Sep 17 00:00:00 2001 From: nisha Date: Wed, 25 Sep 2024 19:06:05 +0530 Subject: [PATCH 5/5] Updated code for form field value --- .../java/net/gepafin/tendermanagement/dao/ApplicationDao.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/net/gepafin/tendermanagement/dao/ApplicationDao.java b/src/main/java/net/gepafin/tendermanagement/dao/ApplicationDao.java index 8c05ca89..aae686d7 100644 --- a/src/main/java/net/gepafin/tendermanagement/dao/ApplicationDao.java +++ b/src/main/java/net/gepafin/tendermanagement/dao/ApplicationDao.java @@ -286,7 +286,7 @@ public class ApplicationDao { } } Utils.setIfUpdated(applicationFormFieldEntity::getFieldId, applicationFormFieldEntity::setFieldId, applicationFormFieldRequestBean.getFieldId()); - Utils.setIfUpdated(applicationFormFieldEntity::getFieldValue, applicationFormFieldEntity::setFieldValue, applicationFormFieldRequestBean.getFieldValue()); + applicationFormFieldEntity.setFieldValue(applicationFormFieldRequestBean.getFieldValue()); return applicationFormFieldRepository.save(applicationFormFieldEntity); }