From 9372ef6051b8f2903b3e9b527dc94cf239ff7b73 Mon Sep 17 00:00:00 2001 From: shuhaib-aot Date: Wed, 13 Nov 2024 13:36:18 +0530 Subject: [PATCH 1/2] FWF-3921 [bugfix] Showing Save changes everytime --- .../services/form_process_mapper.py | 20 +++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/forms-flow-api/src/formsflow_api/services/form_process_mapper.py b/forms-flow-api/src/formsflow_api/services/form_process_mapper.py index 89ce59636a..1613cdcbf9 100644 --- a/forms-flow-api/src/formsflow_api/services/form_process_mapper.py +++ b/forms-flow-api/src/formsflow_api/services/form_process_mapper.py @@ -273,13 +273,20 @@ def check_tenant_authorization(mapper_id: int, **kwargs) -> int: @staticmethod @user_context - def check_tenant_authorization_by_formid(form_id: int, **kwargs) -> int: + def check_tenant_authorization_by_formid( + form_id: int, mapper_data=None, **kwargs + ) -> int: """Check if tenant has permission to access the resource.""" user: UserContext = kwargs["user"] tenant_key = user.tenant_key if tenant_key is None: return - mapper = FormProcessMapper.find_form_by_form_id(form_id=form_id) + # If mapper data is provided as an argument, there's no need to fetch it from the database + mapper = ( + mapper_data + if mapper_data + else FormProcessMapper.find_form_by_form_id(form_id=form_id) + ) if mapper is not None and mapper.tenant != tenant_key: raise BusinessException(BusinessErrorCode.PERMISSION_DENIED) return @@ -323,10 +330,16 @@ def mapper_create(mapper_json): @staticmethod def form_design_update(data, form_id): """Service to handle form design update.""" - FormProcessMapperService.check_tenant_authorization_by_formid(form_id=form_id) + mapper = FormProcessMapper.find_form_by_form_id(form_id=form_id) + FormProcessMapperService.check_tenant_authorization_by_formid( + form_id=form_id, mapper_data=mapper + ) formio_service = FormioService() form_io_token = formio_service.get_formio_access_token() response = formio_service.update_form(form_id, data, form_io_token) + # if user selected to continue with minor version after unpublish + if mapper.prompt_new_version: + mapper.update({"prompt_new_version": False}) FormHistoryService.create_form_log_with_clone(data=data) return response @@ -425,7 +438,6 @@ def create_form(data, is_designer, **kwargs): # pylint:disable=too-many-locals "resourceDetails": {}, "roles": [], "userName": user.user_name, - }, "form": { "resourceId": parent_form_id, From f9ea354bd278167ba8b815b9dacf8105618abeaf Mon Sep 17 00:00:00 2001 From: shuhaib-aot Date: Wed, 13 Nov 2024 13:47:59 +0530 Subject: [PATCH 2/2] Avoided draft prs --- .github/workflows/pr-notification.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr-notification.yml b/.github/workflows/pr-notification.yml index 68e24996e4..c2fc77b5e6 100644 --- a/.github/workflows/pr-notification.yml +++ b/.github/workflows/pr-notification.yml @@ -9,7 +9,7 @@ on: jobs: notify: runs-on: ubuntu-latest - if: github.event.pull_request.base.repo.full_name == 'AOT-Technologies/forms-flow-ai' + if: ${{ github.event.pull_request.base.repo.full_name == 'AOT-Technologies/forms-flow-ai' && github.event.pull_request.draft == false }} steps: - name: Determine PR Status