X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/0f644e242ef37c911ad3dc25aca8135c339de349..402d882ea36afbaff953e60594e470808ebf0579:/apps/workbench/app/models/pipeline_instance_work_unit.rb diff --git a/apps/workbench/app/models/pipeline_instance_work_unit.rb b/apps/workbench/app/models/pipeline_instance_work_unit.rb index 517dbc7a35..1d75f58433 100644 --- a/apps/workbench/app/models/pipeline_instance_work_unit.rb +++ b/apps/workbench/app/models/pipeline_instance_work_unit.rb @@ -9,7 +9,7 @@ class PipelineInstanceWorkUnit < ProxyWorkUnit items = [] jobs = {} - results = Job.where(uuid: @proxied.job_ids.values).results + results = Job.where(uuid: @proxied.job_ids.values).with_count("none").results results.each do |j| jobs[j.uuid] = j end @@ -59,4 +59,22 @@ class PipelineInstanceWorkUnit < ProxyWorkUnit def template_uuid get(:pipeline_template_uuid) end + + def state_label + if get(:state) != "Failed" + return super + end + if get(:components_summary).andand[:failed].andand > 0 + return super + end + # Show "Cancelled" instead of "Failed" if there are no failed + # components. #12840 + get(:components).each do |_, c| + jstate = c[:job][:state] rescue nil + if jstate == "Failed" + return "Failed" + end + end + "Cancelled" + end end