Merge branch 'master' into 11850-singlecontainer-max-requirements
[arvados.git] / apps / workbench / app / models / job_work_unit.rb
index 49f490dc3a5449ee146d0bd78f745610d116daba..83825a533849fea023482d12bafeac8c88db76d8 100644 (file)
@@ -1,6 +1,10 @@
+# Copyright (C) The Arvados Authors. All rights reserved.
+#
+# SPDX-License-Identifier: AGPL-3.0
+
 class JobWorkUnit < ProxyWorkUnit
   def children
-    return self.my_children if self.my_children
+    return @my_children if @my_children
 
     # Jobs components
     items = []
@@ -20,7 +24,7 @@ class JobWorkUnit < ProxyWorkUnit
       end
     end
 
-    self.my_children = items
+    @my_children = items
   end
 
   def child_summary
@@ -31,8 +35,58 @@ class JobWorkUnit < ProxyWorkUnit
     end
   end
 
+  def parameters
+    get(:script_parameters)
+  end
+
+  def repository
+    get(:repository)
+  end
+
+  def script
+    get(:script)
+  end
+
+  def script_version
+    get(:script_version)
+  end
+
+  def supplied_script_version
+    get(:supplied_script_version)
+  end
+
+  def docker_image
+    get(:docker_image_locator)
+  end
+
+  def nondeterministic
+    get(:nondeterministic)
+  end
+
+  def runtime_constraints
+    get(:runtime_constraints)
+  end
+
+  def priority
+    get(:priority)
+  end
+
+  def log_collection
+    get(:log)
+  end
+
+  def outputs
+    items = []
+    items << get(:output) if get(:output)
+    items
+  end
+
   def can_cancel?
-    true
+    state_label.in? ["Queued", "Running"]
+  end
+
+  def confirm_cancellation
+    "All unfinished child jobs and pipelines will also be canceled, even if they are being used in another job or pipeline. Are you sure you want to cancel this job?"
   end
 
   def uri