refs #5493: Merge branch '5493-fix-yellow-gif'
[arvados.git] / apps / workbench / app / views / users / _manage_ssh_keys.html.erb
index 580b5d89db95a8340cf3a24ef19c999332894099..951b79c6dea19551f58cb47ac4a84a6a33c74933 100644 (file)
@@ -1,44 +1,63 @@
-<div>
+<div class="panel panel-default">
+  <div class="panel-heading">
+    <div class="pull-right">
+      <%= link_to raw('<i class="fa fa-plus"></i>' " 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_ssh_keys">
+        SSH Keys
+      </a>
+    </h4>
+  </div>
+
+<div id="manage_ssh_keys" class="panel-body">
   <% if !@my_ssh_keys.any? %>
      <p> You have not yet set up an SSH public key for use with Arvados. </p>
-     <p>  <%= link_to "Click here to learn about SSH keys in Arvados.",
-                 "#{Rails.configuration.arvados_docsite}/user/getting_started/ssh-access-unix.html", 
-                 style: "font-weight: bold",
-                 target: "_blank" %>       </p>
+     <p>  <%= link_to "Click here",
+                  "#{Rails.configuration.arvados_docsite}/user/getting_started/ssh-access-unix.html",
+                  style: "font-weight: bold",
+                  target: "_blank" %>  to learn about SSH keys in Arvados.
+     </p>
      <p> When you have an SSH key you would like to use, add it using the <b>Add</b> button. </p>
-  <% end %>
-
-  <% if @my_ssh_keys.andand.any? %>
-    <table class="table manage-ssh-keys-table" style="table-layout:fixed; overflow:hidden; white-space: nowrap;">
+  <% else %>
+    <table class="table manage-ssh-keys-table">
       <colgroup>
-        <col style="width: 45%" />
-        <col style="width: 45%" />
+        <col style="width: 35%" />
+        <col style="width: 55%" />
         <col style="width: 10%" />
       </colgroup>
       <thead>
         <tr>
           <th> Name </th>
-          <th> Public Key </th>
+          <th> Key Fingerprint </th>
           <th> </th>
         </tr>
       </thead>
       <tbody>
         <% @my_ssh_keys.andand.each do |key| %>
-          <tr>
-            <td style="width:50px; overflow:hidden;">
+          <tr style="word-break:break-all;">
+            <td>
               <%= key[:name] %>
             </td>
-            <td>
+            <td style="word-break:break-all;">
               <% if key[:public_key] && key[:public_key].size > 0 %>
                 <div>
-                  <pre style="margin:0; overflow-y:scroll; max-height:7em"><%= key[:public_key] %></pre>
+                  <span title="<%=key[:public_key]%>"> <%=
+                    begin
+                      SSHKey.fingerprint key[:public_key]
+                    rescue
+                      "INVALID KEY: " + key[:public_key]
+                    end
+                   %> </span>
                 </div>
               <% else %>
                   <%= key[:public_key] %>
               <% end %>
             </td>
             <td>
-              <%= link_to(authorized_key_path(id: key[:uuid]), method: 'delete', class: 'btn btn-sm', data: {confirm: "Really delete key?"}) do %>
+              <%= 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>
@@ -48,3 +67,4 @@
     </table>
   <% end %>
 </div>
+</div>