[ARVADOS] updated: 490a1de3cdad334315b75687578217efb57cfaf6

git at public.curoverse.com git at public.curoverse.com
Fri Jul 25 11:15:39 EDT 2014


Summary of changes:
 .../controllers/pipeline_instances_controller.rb   |  3 +-
 .../controllers/pipeline_templates_controller.rb   |  3 +-
 apps/workbench/app/controllers/users_controller.rb | 29 +++++++-
 .../app/helpers/pipeline_components_helper.rb      | 13 ++++
 .../app/helpers/pipeline_instances_helper.rb       |  4 ++
 .../views/application/_pipeline_progress.html.erb  |  2 +-
 .../application/_pipeline_status_label.html.erb    |  2 +-
 .../app/views/layouts/application.html.erb         | 20 ++++--
 .../pipeline_instances/_show_components.html.erb   | 79 +---------------------
 .../_show_components_json.html.erb                 | 16 +++++
 ....html.erb => _show_components_running.html.erb} | 34 ----------
 .../views/pipeline_instances/_show_recent.html.erb |  4 +-
 .../pipeline_templates/_show_components.html.erb   |  4 +-
 .../app/views/users/_add_ssh_key_popup.html.erb    | 33 +++++++++
 .../app/views/users/_manage_account.html.erb       |  9 ++-
 .../app/views/users/_manage_repositories.html.erb  | 10 +--
 .../app/views/users/_manage_ssh_keys.html.erb      | 12 ++--
 .../views/users/_manage_virtual_machines.html.erb  | 14 ++--
 apps/workbench/app/views/users/add_ssh_key.js.erb  |  2 +
 .../app/views/users/add_ssh_key_popup.js.erb       | 34 ++++++++++
 apps/workbench/config/routes.rb                    |  4 +-
 .../pipeline_instances_controller_test.rb          |  7 ++
 .../pipeline_templates_controller_test.rb          |  6 ++
 .../test/integration/pipeline_instances_test.rb    | 12 +++-
 doc/install/index.html.textile.liquid              |  2 +-
 doc/install/install-keep.html.textile.liquid       | 52 ++++++++++++++
 sdk/cli/bin/crunch-job                             |  7 ++
 services/api/test/fixtures/pipeline_instances.yml  | 22 +++++-
 services/api/test/fixtures/pipeline_templates.yml  | 21 ++++++
 29 files changed, 306 insertions(+), 154 deletions(-)
 create mode 100644 apps/workbench/app/helpers/pipeline_components_helper.rb
 create mode 100644 apps/workbench/app/views/pipeline_instances/_show_components_json.html.erb
 copy apps/workbench/app/views/pipeline_instances/{_show_components.html.erb => _show_components_running.html.erb} (63%)
 create mode 100644 apps/workbench/app/views/users/_add_ssh_key_popup.html.erb
 create mode 100644 apps/workbench/app/views/users/add_ssh_key.js.erb
 create mode 100644 apps/workbench/app/views/users/add_ssh_key_popup.js.erb
 create mode 100644 doc/install/install-keep.html.textile.liquid

       via  490a1de3cdad334315b75687578217efb57cfaf6 (commit)
       via  8722cd175d66ae707ba1ce2efa15b572678f545c (commit)
       via  aa31de9c4cc3b820c906b4b915ba3e5f5aa4ad87 (commit)
       via  f2d60a7dc6767003ad8b821dc8029a7dd54deaac (commit)
       via  d0ab992df96443576bc8f30410940c1acdac827a (commit)
       via  ce8d052472be0cb417596c41f2700cf92a260fd3 (commit)
       via  514ba2679d20b269f4ab37415d0217589477e7f6 (commit)
       via  15c61d99c5a867c6a58ef3eb10cc72d7f9ec5cd8 (commit)
       via  2f13152e6e81dada55b7e14f9cd981156d60d561 (commit)
      from  dd2634cad1db669ce19237805bb7fa83a1913d26 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.


commit 490a1de3cdad334315b75687578217efb57cfaf6
Author: radhika <radhika at curoverse.com>
Date:   Fri Jul 25 11:13:29 2014 -0400

    3193: Move "SSH keys" and "API tokens" from notifications menu into settings gear menu. These are now available only for admin users.

diff --git a/apps/workbench/app/views/layouts/application.html.erb b/apps/workbench/app/views/layouts/application.html.erb
index 5725f40..a872b31 100644
--- a/apps/workbench/app/views/layouts/application.html.erb
+++ b/apps/workbench/app/views/layouts/application.html.erb
@@ -118,12 +118,20 @@
                 <li role="presentation" class="dropdown-header">
                   Settings
                 </li>
-                <li role="presentation"><a href="/repositories">
-                    <i class="fa fa-lg fa-code-fork fa-fw"></i> Repositories
-                </a></li>
-                <li role="presentation"><a href="/virtual_machines">
-                    <i class="fa fa-lg fa-terminal fa-fw"></i> Virtual machines
-                </a></li>
+                <% if current_user.andand.is_admin %>
+                  <li role="presentation"><a href="/repositories">
+                      <i class="fa fa-lg fa-code-fork fa-fw"></i> Repositories
+                  </a></li>
+                  <li role="presentation"><a href="/virtual_machines">
+                      <i class="fa fa-lg fa-terminal fa-fw"></i> Virtual machines
+                  </a></li>
+                  <li role="presentation"><a href="/authorized_keys">
+                      <i class="fa fa-lg fa-key fa-fw"></i> SSH keys
+                  </a></li>
+                  <li role="presentation"><a href="/api_client_authorizations">
+                      <i class="fa fa-lg fa-ticket fa-fw"></i> API tokens
+                  </a></li>
+                <% end %>
                 <li role="presentation"><a href="/links">
                     <i class="fa fa-lg fa-arrows-h fa-fw"></i> Links
                 </a></li>
diff --git a/apps/workbench/app/views/users/_manage_repositories.html.erb b/apps/workbench/app/views/users/_manage_repositories.html.erb
index 11d2580..994fb25 100644
--- a/apps/workbench/app/views/users/_manage_repositories.html.erb
+++ b/apps/workbench/app/views/users/_manage_repositories.html.erb
@@ -1,6 +1,6 @@
 <div>
   <p>
-    For more information see <%= link_to raw('setting up SSH access'),
+    For more information see <%= link_to raw('Setting up SSH access'),
     "#{Rails.configuration.arvados_docsite}/user/getting_started/ssh-access-unix.html", target: "_blank"%>
   </p>
 
diff --git a/apps/workbench/app/views/users/_manage_ssh_keys.html.erb b/apps/workbench/app/views/users/_manage_ssh_keys.html.erb
index 2c6c7dd..6b871b3 100644
--- a/apps/workbench/app/views/users/_manage_ssh_keys.html.erb
+++ b/apps/workbench/app/views/users/_manage_ssh_keys.html.erb
@@ -25,7 +25,7 @@
 <hr>
 
 <div>
-<h4>Setting up SSH keys</h4>
+<h4>Setting up SSH access</h4>
 <p>
 Sample <code>~/.ssh/config</code>:
 </p>
diff --git a/apps/workbench/app/views/users/_manage_virtual_machines.html.erb b/apps/workbench/app/views/users/_manage_virtual_machines.html.erb
index b19e719..b5556d4 100644
--- a/apps/workbench/app/views/users/_manage_virtual_machines.html.erb
+++ b/apps/workbench/app/views/users/_manage_virtual_machines.html.erb
@@ -1,6 +1,6 @@
 <div>
   <p>
-    For more information see <%= link_to raw('setting up SSH access'),
+    For more information see <%= link_to raw('Setting up SSH access'),
     "#{Rails.configuration.arvados_docsite}/user/getting_started/ssh-access-unix.html", target: "_blank"%>
   </p>
 

commit 8722cd175d66ae707ba1ce2efa15b572678f545c
Merge: aa31de9 f2d60a7
Author: radhika <radhika at curoverse.com>
Date:   Fri Jul 25 10:51:32 2014 -0400

    Merge branch 'master' into 3193-manage-account


commit aa31de9c4cc3b820c906b4b915ba3e5f5aa4ad87
Author: radhika <radhika at curoverse.com>
Date:   Fri Jul 25 10:51:02 2014 -0400

    3193: add ssh key using popup

diff --git a/apps/workbench/app/controllers/users_controller.rb b/apps/workbench/app/controllers/users_controller.rb
index 8c2a680..d578631 100644
--- a/apps/workbench/app/controllers/users_controller.rb
+++ b/apps/workbench/app/controllers/users_controller.rb
@@ -238,11 +238,38 @@ class UsersController < ApplicationController
     @my_ssh_keys = AuthorizedKey.where(key_type: 'SSH', owner_uuid: current_user.uuid)
 
     respond_to do |f|
-#      f.js { render template: 'users/manage_account.js' }
       f.html { render template: 'users/manage_account' }
     end
   end
 
+  def add_ssh_key_popup
+    respond_to do |format|
+      format.html
+      format.js
+    end
+  end
+
+  def add_ssh_key
+    respond_to do |format|
+      key_params = {'key_type' => 'SSH'}
+      key_params['authorized_user_uuid'] = current_user.uuid
+
+      if params['name'] && params['name'].size>0
+        key_params['name'] = params['name']
+      end
+      if params['public_key'] && params['public_key'].size>0
+        key_params['public_key'] = params['public_key']
+      end
+
+      new_key = AuthorizedKey.create! key_params
+      if new_key
+        format.js
+      else
+        self.render_error status: 422
+      end
+    end
+  end
+
   protected
 
   def find_current_links user
diff --git a/apps/workbench/app/views/users/_add_ssh_key_popup.html.erb b/apps/workbench/app/views/users/_add_ssh_key_popup.html.erb
new file mode 100644
index 0000000..00d5b96
--- /dev/null
+++ b/apps/workbench/app/views/users/_add_ssh_key_popup.html.erb
@@ -0,0 +1,33 @@
+<div class="modal-dialog modal-with-loading-spinner">
+  <div class="modal-content">
+
+    <%= form_tag add_ssh_key_path, {method: 'get', class: 'form-search, new_authorized_key', remote: true} do %>
+
+      <div class="modal-header">
+        <button type="button" class="close" onClick="reset_form()" data-dismiss="modal" aria-hidden="true">×</button>
+        <div>
+          <div class="col-sm-6"> <h4 class="modal-title">Add SSH Key</h4> </div>
+          <div class="spinner spinner-32px spinner-h-center col-sm-1" hidden="true"></div>
+        </div>
+        <br/>
+      </div>
+
+      <div class="modal-body">
+        <div class="form-group">
+	        <label for="name">Name</label>
+          <input class="form-control" id="name" maxlength="250" name="name" type="text"/>
+        </div>
+        <div class="form-group">
+          <label for="public_key">Public Key</label>
+          <textarea class="form-control" id="public_key" rows="4" name="public_key" type="text"/>
+        </div>
+      </div>
+
+      <div class="modal-footer">
+        <button type="submit" id="register" class="btn btn-primary" autofocus>Submit</button>
+        <button class="btn btn-default" onClick="reset_form()" data-dismiss="modal" aria-hidden="true">Cancel</button>
+      </div>
+
+    <% end #form %>
+  </div>
+</div>
diff --git a/apps/workbench/app/views/users/_manage_account.html.erb b/apps/workbench/app/views/users/_manage_account.html.erb
index 76a0408..6d3d8f7 100644
--- a/apps/workbench/app/views/users/_manage_account.html.erb
+++ b/apps/workbench/app/views/users/_manage_account.html.erb
@@ -28,11 +28,9 @@
       <div class="panel panel-default">
         <div class="panel-heading">
           <div class="pull-right">
-            <%= button_to projects_path(method: 'post'), class: 'btn btn-xs btn-primary' do %>
-              <i class="fa fa-fw fa-plus"></i>
-              Add new SSH key
-            <% end %>
-
+            <%= link_to "Add new SSH key", add_ssh_key_popup_url,
+                         {class: 'btn btn-xs btn-primary', :remote => true, 'data-toggle' =>  "modal",
+                          'data-target' => '#add-ssh-key-modal-window'}  %>
           </div>
           <h4 class="panel-title">
             <a data-parent="#arv-adv-accordion" href="#manage_<%=section_id%>">
@@ -48,4 +46,5 @@
       </div>
     <% end %>
   </div>
+  <div id="add-ssh-key-modal-window" class="modal fade" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"></div>
 </div>
diff --git a/apps/workbench/app/views/users/add_ssh_key.js.erb b/apps/workbench/app/views/users/add_ssh_key.js.erb
new file mode 100644
index 0000000..6117b98
--- /dev/null
+++ b/apps/workbench/app/views/users/add_ssh_key.js.erb
@@ -0,0 +1,2 @@
+$("#add-ssh-key-modal-window").modal("hide");
+document.location.reload();
diff --git a/apps/workbench/app/views/users/add_ssh_key_popup.js.erb b/apps/workbench/app/views/users/add_ssh_key_popup.js.erb
new file mode 100644
index 0000000..96f6123
--- /dev/null
+++ b/apps/workbench/app/views/users/add_ssh_key_popup.js.erb
@@ -0,0 +1,34 @@
+$("#add-ssh-key-modal-window").html("<%= escape_javascript(render partial: 'add_ssh_key_popup') %>");
+
+// disable the submit button on load
+var $input = $('input:text'),
+$register = $('#register');
+
+var name_value = document.forms["add_new_key_form"]["name"].value;
+var public_key_value = document.forms["add_new_key_form"]["public_key"].value;
+if ((name_value == null || name_value == "" ||
+     public_key_value == null || public_key_value == "")) {
+  $register.attr('disabled', true);
+}
+
+// capture events to enable submit button when applicable
+$input.on('keyup paste mouseleave', function() {
+  var trigger = false;
+
+  var name_value = document.forms["add_new_key_form"]["name"].value;
+  var public_key_value = document.forms["add_new_key_form"]["public_key"].value;
+
+  if ((name_value == null || name_value == "" ||
+       public_key_value == null || public_key_value == "")){
+    trigger = true;
+  }
+
+  trigger ? $register.attr('disabled', true) : $register.removeAttr('disabled');
+});
+
+// reset form input fields, for the next time around
+function reset_form() {
+  $('#name').val("");
+  $('#public_key').val("");
+  $('select').val('')
+}
diff --git a/apps/workbench/config/routes.rb b/apps/workbench/config/routes.rb
index 1f3d65f..ab5288b 100644
--- a/apps/workbench/config/routes.rb
+++ b/apps/workbench/config/routes.rb
@@ -33,6 +33,9 @@ ArvadosWorkbench::Application.routes.draw do
     post 'unsetup', :on => :member
     get 'setup_popup', :on => :member
   end
+  get '/manage_account' => 'users#manage_account'
+  get "/add_ssh_key_popup" => 'users#add_ssh_key_popup', :as => :add_ssh_key_popup
+  get "/add_ssh_key" => 'users#add_ssh_key', :as => :add_ssh_key
   resources :logs
   resources :factory_jobs
   resources :uploaded_datasets
@@ -66,7 +69,6 @@ ArvadosWorkbench::Application.routes.draw do
     get 'choose', on: :collection
     post 'share_with', on: :member
   end
-  get '/manage_account' => 'users#manage_account'
 
   post 'actions' => 'actions#post'
   get 'websockets' => 'websocket#index'

commit 514ba2679d20b269f4ab37415d0217589477e7f6
Author: radhika <radhika at curoverse.com>
Date:   Thu Jul 24 13:17:37 2014 -0400

    3193: add wrapping to td elements

diff --git a/apps/workbench/app/views/users/_manage_repositories.html.erb b/apps/workbench/app/views/users/_manage_repositories.html.erb
index 9c6fb1e..11d2580 100644
--- a/apps/workbench/app/views/users/_manage_repositories.html.erb
+++ b/apps/workbench/app/views/users/_manage_repositories.html.erb
@@ -7,8 +7,8 @@
   <table class="table repositories-table">
     <colgroup>
       <col style="width: 30%" />
-      <col style="width: 15%" />
-      <col style="width: 55%" />
+      <col style="width: 10%" />
+      <col style="width: 60%" />
     </colgroup>
     <thead>
       <tr>
@@ -20,13 +20,13 @@
     <tbody>
       <% @my_repositories.andand.each do |repo| %>
         <tr>
-          <td>
+          <td style="word-break:break-all;">
             <%= repo[:name] %>
           </td>
           <td>
             <%= repo[:push_url] != nil %>
           </td>
-          <td>
+          <td style="word-break:break-all;">
             <%= repo[:fetch_url] %>
           </td>
         </tr>
diff --git a/apps/workbench/app/views/users/_manage_ssh_keys.html.erb b/apps/workbench/app/views/users/_manage_ssh_keys.html.erb
index f8eec71..2c6c7dd 100644
--- a/apps/workbench/app/views/users/_manage_ssh_keys.html.erb
+++ b/apps/workbench/app/views/users/_manage_ssh_keys.html.erb
@@ -8,13 +8,13 @@
     <tbody>
       <% @my_ssh_keys.andand.each do |key| %>
         <tr>
-          <td>
-            <%= key[:uuid] %>
+          <td style="word-break:break-all;">
+            <%= key[:public_key] %>
           </td>
           <td>
-    <%= link_to(authorized_key_path(id: key[:uuid]), method: 'delete', class: 'btn btn-sm', data: {confirm: "Really delete key"}) do %>
-      <i class="fa fa-fw fa-trash-o"></i>
-    <% end %>
+            <%= link_to(authorized_key_path(id: key[:uuid]), method: 'delete', class: 'btn btn-sm', data: {confirm: "Really delete key"}) do %>
+                <i class="fa fa-fw fa-trash-o"></i>
+            <% end %>
           </td>
         </tr>
       <% end %>
diff --git a/apps/workbench/app/views/users/_manage_virtual_machines.html.erb b/apps/workbench/app/views/users/_manage_virtual_machines.html.erb
index 3b89d1e..b19e719 100644
--- a/apps/workbench/app/views/users/_manage_virtual_machines.html.erb
+++ b/apps/workbench/app/views/users/_manage_virtual_machines.html.erb
@@ -18,10 +18,10 @@
     <tbody>
       <% @my_virtual_machines.andand.each do |vm| %>
         <tr>
-          <td>
+          <td style="word-break:break-all;">
             <%= vm[:hostname] %>
           </td>
-          <td>
+          <td style="word-break:break-all;">
             <%= @my_vm_logins[vm[:uuid]].andand.compact || [] %>
           </td>
         </tr>

commit 2f13152e6e81dada55b7e14f9cd981156d60d561
Author: radhika <radhika at curoverse.com>
Date:   Thu Jul 24 11:34:05 2014 -0400

    3193: updated the vm section based on Tom's suggestion: let's skip the 'last login' column for now, until we can make logs record the actual VM uuid

diff --git a/apps/workbench/app/views/users/_manage_virtual_machines.html.erb b/apps/workbench/app/views/users/_manage_virtual_machines.html.erb
index 46310d7..3b89d1e 100644
--- a/apps/workbench/app/views/users/_manage_virtual_machines.html.erb
+++ b/apps/workbench/app/views/users/_manage_virtual_machines.html.erb
@@ -6,15 +6,13 @@
 
   <table class="table virtual-machines-table">
     <colgroup>
-      <col style="width: 35%" />
-      <col style="width: 35%" />
-      <col style="width: 30%" />
+      <col style="width: 50%" />
+      <col style="width: 50%" />
     </colgroup>
     <thead>
       <tr>
         <th> Host name </th>
         <th> Login name </th>
-        <th> Last login </th>
       </tr>
     </thead>
     <tbody>
@@ -26,8 +24,6 @@
           <td>
             <%= @my_vm_logins[vm[:uuid]].andand.compact || [] %>
           </td>
-          <td>
-          </td>
         </tr>
       <% end %>
     </tbody>

-----------------------------------------------------------------------


hooks/post-receive
-- 




More information about the arvados-commits mailing list