From 7fc53897e23026a030e59a8a226d8b5566113860 Mon Sep 17 00:00:00 2001 From: rajesh Date: Fri, 31 Jan 2025 20:02:42 +0530 Subject: [PATCH] Added validation in form creation --- src/main/java/net/gepafin/tendermanagement/dao/FormDao.java | 5 +++++ .../tendermanagement/service/impl/FormServiceImpl.java | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/src/main/java/net/gepafin/tendermanagement/dao/FormDao.java b/src/main/java/net/gepafin/tendermanagement/dao/FormDao.java index 1c7ed019..5e5cfdef 100644 --- a/src/main/java/net/gepafin/tendermanagement/dao/FormDao.java +++ b/src/main/java/net/gepafin/tendermanagement/dao/FormDao.java @@ -4,6 +4,7 @@ import jakarta.servlet.http.HttpServletRequest; import net.gepafin.tendermanagement.config.Translator; import net.gepafin.tendermanagement.constants.GepafinConstant; import net.gepafin.tendermanagement.entities.*; +import net.gepafin.tendermanagement.enums.CallStatusEnum; import net.gepafin.tendermanagement.enums.VersionActionTypeEnum; import net.gepafin.tendermanagement.model.request.*; import net.gepafin.tendermanagement.model.response.ContentResponseBean; @@ -118,6 +119,10 @@ public class FormDao { //cloned entity for old call data. CallEntity oldCallData = Utils.getClonedEntityForData(callEntity); + if(callEntity.getStatus().equals(CallStatusEnum.PUBLISH.getValue())) { + throw new CustomValidationException(Status.VALIDATION_ERROR, + Translator.toLocale(GepafinConstant.PUBLISHED_CALL_NOT_UPDATE)); + } List flowDataEntities = flowDataRepository.findByCallId(callEntity.getId()); List flowEdgesEntities = flowEdgesRepository.findByCallId(callEntity.getId()); if (Boolean.FALSE.equals(flowDataEntities.isEmpty() || flowDataEntities == null) || Boolean.FALSE.equals(flowEdgesEntities.isEmpty() || flowEdgesEntities == null)) { diff --git a/src/main/java/net/gepafin/tendermanagement/service/impl/FormServiceImpl.java b/src/main/java/net/gepafin/tendermanagement/service/impl/FormServiceImpl.java index 51199767..fe62af2f 100644 --- a/src/main/java/net/gepafin/tendermanagement/service/impl/FormServiceImpl.java +++ b/src/main/java/net/gepafin/tendermanagement/service/impl/FormServiceImpl.java @@ -14,6 +14,7 @@ import net.gepafin.tendermanagement.util.Validator; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.List; @@ -27,6 +28,7 @@ public class FormServiceImpl implements FormService { private Validator validator; @Override + @Transactional(rollbackFor = Exception.class) public FormResponseBean createForm(HttpServletRequest request,Long callId, FormRequest formRequest) { UserEntity user = validator.validateUser(request); CallEntity call = validator.validateUserWithCall(user, callId); @@ -34,18 +36,21 @@ public class FormServiceImpl implements FormService { } @Override + @Transactional(rollbackFor = Exception.class) public FormResponseBean updateForm(HttpServletRequest request, Long formId, FormRequest formRequest,Boolean forceDeleteFlow) { UserEntity user = validator.validateUser(request); return formDao.updateForm(user, formId,formRequest,forceDeleteFlow); } @Override + @Transactional(readOnly = true) public FormResponseBean getFormById(HttpServletRequest request, Long formId) { UserEntity user = validator.validateUser(request); return formDao.getFormEntityById(user, formId); } @Override + @Transactional(rollbackFor = Exception.class) public void deleteForm(HttpServletRequest request, Long formId) { UserEntity user = validator.validateUser(request); formDao.deleteFormById(user, formId); @@ -57,6 +62,7 @@ public class FormServiceImpl implements FormService { } @Override + @Transactional(readOnly = true) public List getFormsByCallId(HttpServletRequest request, Long callId) { UserEntity user = validator.validateUser(request); CallEntity call = validator.validateUserWithCall(user, callId);