X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/78408743bab09078a7361620fc6a6be524fdac73..58a026e09bda4c1e2374347615c325007c64fac4:/apps/workbench/app/helpers/application_helper.rb diff --git a/apps/workbench/app/helpers/application_helper.rb b/apps/workbench/app/helpers/application_helper.rb index 42215eefb0..106716a0f7 100644 --- a/apps/workbench/app/helpers/application_helper.rb +++ b/apps/workbench/app/helpers/application_helper.rb @@ -1,3 +1,7 @@ +# Copyright (C) The Arvados Authors. All rights reserved. +# +# SPDX-License-Identifier: AGPL-3.0 + module ApplicationHelper def current_user controller.current_user @@ -422,18 +426,23 @@ module ApplicationHelper lt end - def get_cwl_inputs(workflow) - if workflow[:inputs] - return workflow[:inputs] + def get_cwl_main(workflow) + if workflow[:"$graph"].nil? + return workflow else workflow[:"$graph"].each do |tool| if tool[:id] == "#main" - return tool[:inputs] + return tool end end end end + def get_cwl_inputs(workflow) + get_cwl_main(workflow)[:inputs] + end + + def cwl_shortname(id) if id[0] == "#" id = id[1..-1] @@ -670,9 +679,10 @@ module ApplicationHelper render_runtime duration, use_words, round_to_min end - MOUNT_INPUT_KEEP_LOCATOR_REGEXP = /(.*)(([0-9a-f]{32}\+\d+)(.*)\"(.*))/ - def mount_input_keep_locator str - MOUNT_INPUT_KEEP_LOCATOR_REGEXP.match str + # Keep locators are expected to be of the form \"...\" + JSON_KEEP_LOCATOR_REGEXP = /(.*)(([0-9a-f]{32}\+\d+)(.*)\"(.*))/ + def keep_locator_in_json str + JSON_KEEP_LOCATOR_REGEXP.match str end private