Merge branch 'master' into 3654-combine-selections
[arvados.git] / apps / workbench / app / views / jobs / _show_status.html.erb
index 660aa9565c8ea1b710d6364946a4c4f7c02f07a6..ede168d2d3b39767a5253a83d8ef5856c54880a3 100644 (file)
@@ -1,27 +1,32 @@
 
 <div class="pull-right">
-Re-run job using version:
-<%= form_tag '/jobs', style: "display:inline; padding-left: 1em" do |f| %>
-<% [:script, :script_version, :repository, :output_is_persistent, :supplied_script_version, :nondeterministic].each do |d| %>
-  <%= hidden_field :job, d, :value => @object[d] %>
-<% end %>
-<% [:script_parameters, :runtime_constraints].each do |d| %>
-  <%= hidden_field :job, d, :value => JSON.dump(@object[d]) %>
-<% end %>
-<%= hidden_field :options, :no_reuse, :value => true %>
-<%= button_tag "Same (#{@object.script_version.slice 0,8}...)", {class: 'btn btn-primary', id: "run-pipeline-button"} %>
-<% end %>
-
-<%= form_tag '/jobs', style: "display:inline" do |f| %>
-<% [:script, :repository, :output_is_persistent, :supplied_script_version, :nondeterministic].each do |d| %>
-  <%= hidden_field :job, d, :value => @object[d] %>
-<% end %>
-<%= hidden_field :job, :script_version, :value => @object[:supplied_script_version] %>
-<% [:script_parameters, :runtime_constraints].each do |d| %>
-  <%= hidden_field :job, d, :value => JSON.dump(@object[d]) %>
-<% end %>
-<%= hidden_field :options, :no_reuse, :value => true %>
-<%= button_tag "Latest (#{@object.repository}/#{@object.supplied_script_version})", {class: 'btn btn-primary', id: "run-pipeline-button"} %>
+  <% if @object.running %>
+    <%= form_tag "/jobs/#{@object.uuid}/cancel", style: "display:inline; padding-left: 1em" do |f| %>
+      <%= button_tag "Cancel running job", {class: 'btn btn-danger', id: "cancel-job-button"} %>
+    <% end %>
+  <% else %>
+    Re-run job using script version:
+    <%= form_tag '/jobs', style: "display:inline; padding-left: 1em" do |f| %>
+      <% [:script, :script_version, :repository, :supplied_script_version, :nondeterministic].each do |d| %>
+        <%= hidden_field :job, d, :value => @object[d] %>
+      <% end %>
+      <% [:script_parameters, :runtime_constraints].each do |d| %>
+        <%= hidden_field :job, d, :value => JSON.dump(@object[d]) %>
+      <% end %>
+      <%= button_tag "Same as this run", {class: 'btn btn-primary', id: "re-run-same-job-button"} %>
+    <% end %>
+  <% if @object.respond_to? :supplied_script_version and !@object.supplied_script_version.nil? and !@object.supplied_script_version.empty? and @object.script_version != @object.supplied_script_version%>
+      <%= form_tag '/jobs', style: "display:inline" do |f| %>
+      <% [:script, :repository, :supplied_script_version, :nondeterministic].each do |d| %>
+        <%= hidden_field :job, d, :value => @object[d] %>
+      <% end %>
+      <%= hidden_field :job, :script_version, :value => @object[:supplied_script_version] %>
+      <% [:script_parameters, :runtime_constraints].each do |d| %>
+        <%= hidden_field :job, d, :value => JSON.dump(@object[d]) %>
+      <% end %>
+      <%= button_tag "Latest (#{@object.repository}/#{@object.supplied_script_version})", {class: 'btn btn-primary', id: "re-run-latest-job-button"} %>
+    <% end %>
+  <% end %>
 <% end %>
 </div>