From a26ae19630a825802947f593af97a2aa71298608 Mon Sep 17 00:00:00 2001 From: Andrew Kapuscinski <akapusci@nrao.edu> Date: Thu, 31 Mar 2022 17:18:29 -0400 Subject: [PATCH] WS-999: actually seal the capability request when a version is cancelled without any executions --- .gitignore | 1 + .../capability/capability/views/capability_version.py | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/.gitignore b/.gitignore index bffcb1290..d37a35406 100644 --- a/.gitignore +++ b/.gitignore @@ -73,6 +73,7 @@ pyproject.toml package-lock.json **/.hypothesis apps/cli/executables/pexable/deliver/delivery.json +services/workflow/reacquire.txt # Ignore docker volume mount points services/**/**/apps diff --git a/services/capability/capability/views/capability_version.py b/services/capability/capability/views/capability_version.py index 7d53bc997..d21a1f37b 100644 --- a/services/capability/capability/views/capability_version.py +++ b/services/capability/capability/views/capability_version.py @@ -20,6 +20,7 @@ File containing definitions for the capability version routes of the Workspaces """ import copy +import logging import requests from pycapo import CapoConfig @@ -33,6 +34,8 @@ from pyramid.request import Request from pyramid.response import Response from pyramid.view import view_config +logger = logging.getLogger(__name__) + from workspaces.capability.enums import CapabilityVersionState @@ -197,9 +200,17 @@ def cancel_capability_version(request: Request) -> Response: return Response(body=f"Capability request #{capability_request_id} v{version_number} successfully cancelled.") elif version: if version.state == "Created": + cap_request = request.capability_info.lookup_capability_request(version.capability_request_id) + # Set version to Cancelled state version.state = CapabilityVersionState.Cancelled.name + + # Seal both version and requests version.sealed = True + cap_request.sealed = True + + # Save request.capability_info.save_version(version) + request.capability_info.save_entity(cap_request) return Response( body=f"Capability request #{capability_request_id} v{version_number} successfully cancelled." ) -- GitLab