Merge branch 'master' into 3187-pipeline-instance-page
authorPeter Amstutz <peter.amstutz@curoverse.com>
Fri, 19 Sep 2014 19:26:30 +0000 (15:26 -0400)
committerPeter Amstutz <peter.amstutz@curoverse.com>
Fri, 19 Sep 2014 19:26:30 +0000 (15:26 -0400)
Conflicts:
apps/workbench/app/models/job.rb
apps/workbench/app/views/application/_content.html.erb
services/api/app/models/job.rb

1  2 
apps/workbench/app/assets/javascripts/tab_panes.js
apps/workbench/app/models/job.rb
apps/workbench/app/views/application/_content.html.erb
apps/workbench/app/views/pipeline_instances/show.html.erb
apps/workbench/test/integration/pipeline_instances_test.rb

index 2295cf6f6decfcd03e43f14ef8be872024aeb0a4,ea17f6cc06b125ce9f528f18a60cbf03fa9ad8f8..cca49b2799873211cfbfc636fea1be5ea13047e3
@@@ -79,5 -73,13 +79,13 @@@ $(document).on('arv:pane:reload', funct
  
  // Mark all panes as stale/dirty. Refresh the active pane.
  $(document).on('arv-log-event arv:pane:reload:all', function() {
 -    $('.tab-pane.loaded').trigger('arv:pane:reload');
 +    $('.pane-anchor.loaded').trigger('arv:pane:reload');
  });
+ // If there is a 'tab counts url' in the nav-tabs element then use it to get some javascript that will update them
+ $(document).on('ready count-change', function() {
+     var tabCountsUrl = $('ul.nav-tabs').data('tab-counts-url');
+     if( tabCountsUrl && tabCountsUrl.length ) {
+         $.get( tabCountsUrl );
+     }
+ });
index 309cadeb69554e1aac0a6dbeaa10b92d7adee30f,9e9c0967871ba4e6408a79c1855b87460f156694..1528bd771e3046b07039931fb40386d0b62f74c5
@@@ -34,24 -38,7 +38,27 @@@ class Job < ArvadosBas
      arvados_api_client.api "jobs/#{self.uuid}/", "cancel", {}
    end
  
-   def state
-     Job::state(self)
-   end
 +  def self.state job
++    if job.responds_to? :state
++      return job.state
++    end
++
 +    if not job[:cancelled_at].nil?
 +      "Canceled"
 +    elsif not job[:finished_at].nil? or not job[:success].nil?
 +      if job[:success]
 +        "Completed"
 +      else
 +        "Failed"
 +      end
 +    elsif job[:running]
 +      "Running"
 +    else
 +      "Queued"
 +    end
 +  end
 +
+   def textile_attributes
+     [ 'description' ]
+   end
  end
index 7249e32c041035a24ed6b42667b221f5b417c0d7,8ec92bf16c5f0e54c06edefb53c938e8e92e5231..65a518faee0a93f36f091497a76c211557388d8c
@@@ -1,41 -1,40 +1,42 @@@
  <% content_for :tab_panes do %>
  
- <% comparable = controller.respond_to? :compare %>
  <% comparable = controller.respond_to? :compare %>
  
- <ul class="nav nav-tabs">
 -  <ul class="nav nav-tabs" data-tab-counts-url="<%= url_for(action: :tab_counts) rescue '' %>">
 -    <% pane_list.each_with_index do |pane, i| %>
++<ul class="nav nav-tabs" data-tab-counts-url="<%= url_for(action: :tab_counts) rescue '' %>">
 +  <% pane_list.each_with_index do |pane, i| %>
++    <% pane_name = (pane.is_a?(Hash) ? pane[:name] : pane) %>
 +    <li class="<%= 'active' if i==0 %>">
-       <a href="#<%= pane %>" data-toggle="tab"
++      <a href="#<%= pane_name %>" data-toggle="tab"
 +         class="pane-anchor"
 +         id="<%= pane %>-tab"
 +         data-pane-content-url="<%= url_for(params.merge(tab_pane: pane)) %>">
-         <%= pane.gsub('_', ' ') %>
++        <%= pane_name.gsub('_', ' ') %> <span id="<%= pane_name %>-count"></span>
 +      </a>
 +    </li>
 +  <% end %>
 +</ul>
 +<div class="tab-content">
 +<% pane_list.each_with_index do |pane, i| %>
-   <div id="<%= pane %>"
+       <% pane_name = (pane.is_a?(Hash) ? pane[:name] : pane) %>
 -      <li class="<%= 'active' if i==0 %>">
 -        <a href="#<%= pane_name %>" data-toggle="tab" id="<%= pane_name %>-tab" data-pane-content-url="<%= url_for(params.merge(tab_pane: pane_name)) %>">
 -          <%= pane_name.gsub('_', ' ') %> <span id="<%= pane_name %>-count"></span>
 -        </a>
 -      </li>
 -    <% end %>
 -  </ul>
 -
 -  <div class="tab-content">
 -    <% pane_list.each_with_index do |pane, i| %>
 -      <% pane_name = (pane.is_a?(Hash) ? pane[:name] : pane) %>
 -      <div id="<%= pane_name %>"
 -           class="tab-pane fade <%= 'in active loaded' if i==0 %> arv-log-event-listener"
 -           <% if controller.action_name == "index" %>
 -             data-object-kind="arvados#<%= ArvadosApiClient.class_kind controller.model_class %>"
 -           <% else %>
 -             data-object-uuid="<%= @object.uuid %>"
 -           <% end %>
 -      >
++  <div id="<%= pane_name %>"
 +       class="tab-pane fade <%= 'in active loaded' if i==0 %> arv-log-event-listener"
 +<% if controller.action_name == "index" %>
 +       data-object-kind="arvados#<%= ArvadosApiClient.class_kind controller.model_class %>"
 +<% else %>
 +       data-object-uuid="<%= @object.uuid %>"
 +<% end %>
 +  >
-     <div id="<%= pane %>-scroll" style="margin-top:0.5em;">
-       <div class="pane-content">
-         <% if i == 0 %>
-           <%= render_pane pane, to_string: true %>
-         <% else %>
-           <div class="spinner spinner-32px spinner-h-center"></div>
-         <% end %>
+         <div id="<%= pane_name %>-scroll" style="margin-top:0.5em;">
+           <div class="pane-content">
+             <% if i == 0 %>
+               <%= render_pane pane_name, to_string: true %>
+             <% else %>
+               <div class="spinner spinner-32px spinner-h-center"></div>
+             <% end %>
+           </div>
+         </div>
        </div>
-     </div>
+     <% end %>
    </div>
- <% end %>
- </div>
  
  <% end %>