Skip to content
Snippets Groups Projects

WS-999: actually seal the capability request when a version is cancelled without any executions

2 files
+ 12
0
Compare changes
  • Side-by-side
  • Inline
Files
2
@@ -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."
)
Loading