Merge branch 'master' into 9352-many-nodes-make-workbench-faster 9352-many-nodes-make-workbench-faster
authorWard Vandewege <ward@curoverse.com>
Fri, 1 Jul 2016 21:49:08 +0000 (17:49 -0400)
committerWard Vandewege <ward@curoverse.com>
Fri, 1 Jul 2016 21:49:08 +0000 (17:49 -0400)
Conflicts:
apps/workbench/app/views/projects/_show_dashboard.html.erb

1  2 
apps/workbench/app/views/projects/_show_dashboard.html.erb

index 45eaa61e29dc1a75f7db0b978b34688f8be062b2,6dfa1bc880ed13ee04cf3b0a5d0c57aad5eb1d4c..f53e9098faa7b41f375a7065f89ceb58522ec530
      </div>
  
      <div class="col-md-6">
-       <% nodes = Node.filter([["ip_address", "!=", nil]]) %>
 -      <% nodes = Node.filter([["last_ping_at", ">", Time.now - 3600]]) %>
++      <% nodes = Node.filter([["last_ping_at", ">", Time.now - 3600],["ip_address", "!=", nil]]) %>
        <div class="panel panel-default" style="min-height: 10.5em">
-         <div class="panel-heading"><span class="panel-title">Compute and job status</span>
-           <span class="pull-right">
-             <%= link_to jobs_path, class: 'btn btn-default btn-xs' do %>
-               All jobs <i class="fa fa-fw fa-arrow-circle-right"></i>
+         <div class="panel-heading"><span class="panel-title">Compute node status</span>
+           <span class="pull-right compute-node-actions">
+             <% if current_user.andand.is_admin %>
+               <span>
+                 <%= link_to nodes_path, class: 'btn btn-default btn-xs' do %>
+                   All nodes <i class="fa fa-fw fa-arrow-circle-right"></i>
+                 <% end %>
+               </span>
              <% end %>
+             <span>
+               <%= link_to jobs_path, class: 'btn btn-default btn-xs' do %>
+                 All jobs <i class="fa fa-fw fa-arrow-circle-right"></i>
+               <% end %>
+             </span>
            </span>
          </div>
-         <div class="panel-body">
+         <div class="panel-body compute-node-summary-pane">
            <div>
              <%= render partial: 'compute_node_summary', locals: {nodes: nodes} %>
-             <div style="text-align: center">
-               <a data-toggle="collapse" href="#compute_node_status">Details <span class="caret"></span></a>
-             </div>
+             <% active_nodes = [] %>
+             <% nodes.sort_by { |n| n.hostname || "" }.each do |n| %>
+               <% if n.crunch_worker_state.in? ["busy", "idle"] %>
+                 <% active_nodes << n %>
+               <% end %>
+             <% end %>
+             <% if active_nodes.any? %>
+               <div style="text-align: center">
+                 <a data-toggle="collapse" href="#compute_node_status">Details <span class="caret"></span></a>
+               </div>
+             <% end %>
            </div>
            <div id="compute_node_status" class="collapse">
-             <%= render partial: 'compute_node_status', locals: {nodes: nodes} %>
+             <%= render partial: 'compute_node_status', locals: {nodes: active_nodes} %>
            </div>
          </div>
        </div>