Skip to content
Snippets Groups Projects
Commit 916caa12 authored by Janet Goldstein's avatar Janet Goldstein
Browse files

WS-858: fix bugs in `create_follow_on_capability_request`. TODO next: fix unit test

parent e3e2fc79
No related branches found
No related tags found
1 merge request!718WS-858: fix bugs in `create_follow_on_capability_request`, hopefully for the last time
Pipeline #4018 failed
......@@ -113,8 +113,7 @@ export class CapabilityRequestService {
}
/**
* Add file to latest version of capability request
*
* Add file to selected capability request version
* @param requestId ID of request whose latest version will receive the file
* @param filename Name of file
* @param content Content of file
......
......@@ -31,8 +31,6 @@ from pyramid.request import Request
from pyramid.response import Response
from pyramid.view import view_config
from workspaces.capability.schema import CapabilityVersion
@view_config(route_name="view_capability_request", renderer="json")
def view_capability_request(request: Request) -> Response:
......@@ -125,7 +123,7 @@ def create_capability_request(request: Request) -> Response:
@view_config(route_name="create_follow_on_capability_request", renderer="json")
def create_follow_on_capability_request(request: Request, version: CapabilityVersion) -> Response:
def create_follow_on_capability_request(request: Request) -> Response:
"""
Pyramid view that accepts a request to create a follow-on capability request from a previous request
URL: capability/request/{request_id}/followon/{followon_type}
......@@ -138,26 +136,32 @@ def create_follow_on_capability_request(request: Request, version: CapabilityVer
requested
"""
request_id = request.matchdict["request_id"]
followon_type = request.matchdict["followon_type"]
request_id = request.matchdict["request_id"]
capability_info = request.capability_info
capability_request = capability_info.lookup_capability_request(request_id)
previous_workflow_id = request_id
metadata_content = request.workflow_service.retrieve_file_content(previous_workflow_id, "metadata.json")
current_version = capability_request.current_version
parameters = current_version.parameters
user_email = parameters["user_email"]
version_number = request.matchdict["version"]
previous_workflow_id = current_version.current_execution.current_workflow_request_id
metadata_content = request.workflow_service.retrieve_file_content(
followon_type, previous_workflow_id, "metadata.json"
)
metadata = json.loads(metadata_content)
cms_path = metadata["destinationDirectory"] + "/working"
sdm_id = metadata["fileSetIds"][0] if isinstance(metadata["fileSetIds"], list) else metadata["fileSetIds"]
new_capability_request = request.capability_info.create_capability_request(
followon_type,
followon_type=followon_type,
parameters={
"cms_path": cms_path,
"sdmId": sdm_id,
"user_email": "jgoldste@nrao.edu",
"version": version.version_number,
"user_email": user_email,
"version": version_number,
"previous_workflow_request_id": previous_workflow_id,
"capability_name": version.capability_name,
"sdm_id": sdm_id,
"cms_path": cms_path,
},
)
return Response(json_body=new_capability_request.__json__())
......@@ -180,7 +184,7 @@ def edit_capability_request(request: Request) -> Response:
@view_config(route_name="create_and_submit_capability_request", renderer="json")
def create_and_submit_capability_request(request: Request) -> Response:
"""
Pyramid view to reate and submit a capability request
Pyramid view to create and submit a capability request
:param request: dummy POST request
:return:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment