[ARVADOS] updated: c7bc953ccbd42113c18d4a8bc5e8403ba364b81d

git at public.curoverse.com git at public.curoverse.com
Tue Apr 1 16:28:17 EDT 2014


Summary of changes:
 apps/workbench/app/controllers/users_controller.rb |   68 +++++++++++++++++++-
 apps/workbench/app/models/user.rb                  |    6 +-
 .../app/views/users/_setup_popup.html.erb          |   62 ++++++++++++++++--
 3 files changed, 123 insertions(+), 13 deletions(-)

       via  c7bc953ccbd42113c18d4a8bc5e8403ba364b81d (commit)
       via  229dd2c6bd06c7656412ba2664c4b35433857d12 (commit)
       via  26596c74694036050896cecf76405ad30a6273e6 (commit)
       via  0c35125a031ac466856bb08f6bfd7d4ef5025d8a (commit)
      from  209e7175c04eb7f54ef720f4a78f259237c6b9a5 (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 c7bc953ccbd42113c18d4a8bc5e8403ba364b81d
Author: radhika chippada <radhika at radhika.curoverse>
Date:   Tue Apr 1 16:26:58 2014 -0400

    Pre-fill form fields with previous selections where applicable.

diff --git a/apps/workbench/app/controllers/users_controller.rb b/apps/workbench/app/controllers/users_controller.rb
index baee3a8..0fc083e 100644
--- a/apps/workbench/app/controllers/users_controller.rb
+++ b/apps/workbench/app/controllers/users_controller.rb
@@ -176,10 +176,60 @@ class UsersController < ApplicationController
 
   def setup_popup
     @vms = VirtualMachine.all.results
+
+    @current_selections = find_current_links @object
+
     respond_to do |format|
       format.html
       format.js
     end
   end
 
+  protected
+
+  def find_current_links user
+    current_selections = {}
+
+    if !user
+      return current_selections
+    end
+
+    # oid login perm
+    oid_login_perms = Link.where(tail_uuid: user.email,
+                                   head_kind: 'arvados#user',
+                                   link_class: 'permission',
+                                   name: 'can_login')
+
+    if oid_login_perms.any?
+      identiry_url_prefix = oid_login_perms.first.identity_url_prefix
+      current_selections[:identiry_url_prefix] = identiry_url_prefix
+    end
+
+    # repo perm
+    repo_perms = Link.where(tail_uuid: user.uuid,
+                            head_kind: 'arvados#repository',
+                            link_class: 'permission',
+                            name: 'can_write')
+    if repo_perms.any?
+      repo_uuid = repo_perms.first.head_uuid
+      repos = Repository.where(head_uuid: repo_uuid)
+      if repos.any?
+        repo_name = repos.first.name
+        current_selections[:repo_name] = repo_name
+      end
+    end
+
+    # vm login perm
+    vm_login_perms = Link.where(tail_uuid: user.uuid,
+                              head_kind: 'arvados#virtualMachine',
+                              link_class: 'permission',
+                              name: 'can_login')
+    if vm_login_perms.any?
+      vm_uuid = vm_login_perms.first.head_uuid
+      current_selections[:vm_uuid] = vm_uuid
+    end
+
+    return current_selections
+  end
+
 end
diff --git a/apps/workbench/app/views/users/_setup_popup.html.erb b/apps/workbench/app/views/users/_setup_popup.html.erb
index c1b874b..0fc0110 100644
--- a/apps/workbench/app/views/users/_setup_popup.html.erb
+++ b/apps/workbench/app/views/users/_setup_popup.html.erb
@@ -5,37 +5,45 @@
   <div class="modal-body">
     <%= uuid = @object.uuid %>
     <%= disable_email = @object.uuid? %>
+    <%= identity_url_prefix = @current_selections[:identiry_url_prefix] %>
+    <%= selected_repo = @current_selections[:repo_name] %>
+    <%= selected_vm = @current_selections[:vm_uuid] %>
+
     <%= form_tag setup_user_url(id: uuid), method: 'get', remote: true, class: 'form-search' do %>    
       <div>
         <table><tbody>
           <tr>
             <% if disable_email %>
-              <td> Email : </td>
-              <td> <input id="email" maxlength="250" name="email" type="text" disabled=<%=disable_email%> > </td>
+              <td> Email </td>
+              <td> <input id="email" maxlength="250" name="email" type="text" value="<%=@object.email%>" disabled=<%=disable_email%> > </td>
             <% else %>
-              <td> Email : </td>
+              <td> Email </td>
               <td> <input id="email" maxlength="250" name="email" type="text" > </td>
             <% end %>
           </tr>
           <tr>
             <% if disable_email %>
-              <td> Openid Prefix : </td>
-              <td> <input id="openid_prefix" maxlength="250" name="openid_prefix" type="text" disabled=<%=disable_email%> > </td>
+              <td> Identity URL Prefix </td>
+              <td> <input id="openid_prefix" maxlength="250" name="openid_prefix" type="text" value="<%=identity_url_prefix%>" disabled=<%=disable_email%> > </td>
             <% else %>
-              <td> Openid Prefix : </td>
+              <td> Openid Prefix </td>
               <td> <input id="openid_prefix" maxlength="250" name="openid_prefix" type="text"> </td>
             <% end %>
           </tr>
           <tr>
-            <td> Repository Name : </td>
-            <td> <input id="repo_name" maxlength="250" name="repo_name" type="text">
+            <td> Repository Name </td>
+            <td> <input id="repo_name" maxlength="250" name="repo_name" type="text" value="<%=selected_repo%>">
           </tr>
           <tr>
-            <td> Virtual Machine : </td>
+            <td> Virtual Machine </td>
             <td>
               <select name="vm_uuid">
                 <% @vms.each do |vm| %>
-                  <option value=<%=vm.uuid%> > <%=vm.hostname%> </option>
+                  <% if selected_vm == vm.uuid %>
+                    <option value=<%=vm.uuid%> selected> <%=vm.hostname%> </option>
+                  <% else %> 
+                    <option value=<%=vm.uuid%> > <%=vm.hostname%> </option>
+                  <% end %>
                 <% end %>
               </select>
             </td>

commit 229dd2c6bd06c7656412ba2664c4b35433857d12
Author: radhika chippada <radhika at radhika.curoverse>
Date:   Tue Apr 1 14:38:50 2014 -0400

    Virtual machines in a dropdown option in setup popup

diff --git a/apps/workbench/app/controllers/users_controller.rb b/apps/workbench/app/controllers/users_controller.rb
index 371b9a8..baee3a8 100644
--- a/apps/workbench/app/controllers/users_controller.rb
+++ b/apps/workbench/app/controllers/users_controller.rb
@@ -175,6 +175,7 @@ class UsersController < ApplicationController
   end
 
   def setup_popup
+    @vms = VirtualMachine.all.results
     respond_to do |format|
       format.html
       format.js
diff --git a/apps/workbench/app/views/users/_setup_popup.html.erb b/apps/workbench/app/views/users/_setup_popup.html.erb
index b5af57a..c1b874b 100644
--- a/apps/workbench/app/views/users/_setup_popup.html.erb
+++ b/apps/workbench/app/views/users/_setup_popup.html.erb
@@ -1,10 +1,10 @@
- <div class="modal-header">
+  <div class="modal-header">
     <h3 id="myModalLabel">Information you had already provided is prefilled for you. You may change it as needed.</h3>
   </div>
 
   <div class="modal-body">
     <%= uuid = @object.uuid %>
-    <%= disable_email = false %>
+    <%= disable_email = @object.uuid? %>
     <%= form_tag setup_user_url(id: uuid), method: 'get', remote: true, class: 'form-search' do %>    
       <div>
         <table><tbody>
@@ -32,7 +32,13 @@
           </tr>
           <tr>
             <td> Virtual Machine : </td>
-            <td> <input id="vm_uuid" maxlength="250" name="vm_uuid" type="text">
+            <td>
+              <select name="vm_uuid">
+                <% @vms.each do |vm| %>
+                  <option value=<%=vm.uuid%> > <%=vm.hostname%> </option>
+                <% end %>
+              </select>
+            </td>
           </tr>
         </tbody></table>
       </div>

commit 26596c74694036050896cecf76405ad30a6273e6
Author: radhika chippada <radhika at radhika.curoverse>
Date:   Tue Apr 1 13:47:11 2014 -0400

    Pass all parameters to the setup method

diff --git a/apps/workbench/app/controllers/users_controller.rb b/apps/workbench/app/controllers/users_controller.rb
index d4f4a93..371b9a8 100644
--- a/apps/workbench/app/controllers/users_controller.rb
+++ b/apps/workbench/app/controllers/users_controller.rb
@@ -148,7 +148,22 @@ class UsersController < ApplicationController
   def setup
     respond_to do |format|
       if current_user.andand.is_admin
-        if @object.setup
+        setup_params = {}
+        if params['uuid'] && params['uuid'].size>0
+          setup_params[:uuid] = params['uuid']
+        end
+        if params['email'] && params['email'].size>0
+          user = {email: params['email'], openid_prefix: params['openid_prefix']}
+          setup_params[:user] = user
+        end
+        if params['repo_name'] && params['repo_name'].size>0
+          setup_params[:repo_name] = params['repo_name']
+        end
+        if params['vm_uuid'] && params['vm_uuid'].size>0
+          setup_params[:vm_uuid] = params['vm_uuid']
+        end
+
+        if User.setup setup_params
           format.js
         else
           self.render_error status: 422
diff --git a/apps/workbench/app/models/user.rb b/apps/workbench/app/models/user.rb
index 24d3958..44d615b 100644
--- a/apps/workbench/app/models/user.rb
+++ b/apps/workbench/app/models/user.rb
@@ -45,10 +45,8 @@ class User < ArvadosBase
                                                 {}))
   end
 
-  def setup
-    $arvados_api_client.api(self.class,
-                            "/setup",
-                            {uuid: self.uuid, repo_name: 'abcdefg'})
+  def self.setup params
+    $arvados_api_client.api(self, "/setup", params)
   end
 
 end
diff --git a/apps/workbench/app/views/users/_setup_popup.html.erb b/apps/workbench/app/views/users/_setup_popup.html.erb
index 6f947ef..b5af57a 100644
--- a/apps/workbench/app/views/users/_setup_popup.html.erb
+++ b/apps/workbench/app/views/users/_setup_popup.html.erb
@@ -4,7 +4,7 @@
 
   <div class="modal-body">
     <%= uuid = @object.uuid %>
-    <%= disable_email = @object.uuid? %>
+    <%= disable_email = false %>
     <%= form_tag setup_user_url(id: uuid), method: 'get', remote: true, class: 'form-search' do %>    
       <div>
         <table><tbody>

commit 0c35125a031ac466856bb08f6bfd7d4ef5025d8a
Author: radhika chippada <radhika at radhika.curoverse>
Date:   Tue Apr 1 11:51:03 2014 -0400

    Multiple input elements in popup

diff --git a/apps/workbench/app/views/users/_setup_popup.html.erb b/apps/workbench/app/views/users/_setup_popup.html.erb
index 1005f21..6f947ef 100644
--- a/apps/workbench/app/views/users/_setup_popup.html.erb
+++ b/apps/workbench/app/views/users/_setup_popup.html.erb
@@ -1,12 +1,44 @@
  <div class="modal-header">
-    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
-    <h3 id="myModalLabel">Modal header</h3>
+    <h3 id="myModalLabel">Information you had already provided is prefilled for you. You may change it as needed.</h3>
   </div>
 
   <div class="modal-body">
-  <%= form_tag setup_user_url(id: @object.uuid), method: 'get', remote: true, class: 'form-search' do %>
-      <input id="repo_name" maxlength="250" name="repo_name" type="text">
-      <button type="submit" class="btn">Submit</button>
-      <button class="btn" data-dismiss="modal" aria-hidden="true">Cancel</button>  </div>  
-  <% end %>
+    <%= uuid = @object.uuid %>
+    <%= disable_email = @object.uuid? %>
+    <%= form_tag setup_user_url(id: uuid), method: 'get', remote: true, class: 'form-search' do %>    
+      <div>
+        <table><tbody>
+          <tr>
+            <% if disable_email %>
+              <td> Email : </td>
+              <td> <input id="email" maxlength="250" name="email" type="text" disabled=<%=disable_email%> > </td>
+            <% else %>
+              <td> Email : </td>
+              <td> <input id="email" maxlength="250" name="email" type="text" > </td>
+            <% end %>
+          </tr>
+          <tr>
+            <% if disable_email %>
+              <td> Openid Prefix : </td>
+              <td> <input id="openid_prefix" maxlength="250" name="openid_prefix" type="text" disabled=<%=disable_email%> > </td>
+            <% else %>
+              <td> Openid Prefix : </td>
+              <td> <input id="openid_prefix" maxlength="250" name="openid_prefix" type="text"> </td>
+            <% end %>
+          </tr>
+          <tr>
+            <td> Repository Name : </td>
+            <td> <input id="repo_name" maxlength="250" name="repo_name" type="text">
+          </tr>
+          <tr>
+            <td> Virtual Machine : </td>
+            <td> <input id="vm_uuid" maxlength="250" name="vm_uuid" type="text">
+          </tr>
+        </tbody></table>
+      </div>
+      <div align="left">
+        <button type="submit" class="btn">Submit</button>
+        <button class="btn" data-dismiss="modal" aria-hidden="true">Cancel</button>
+      </div>
+    <% end %>
   </div>

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


hooks/post-receive
-- 




More information about the arvados-commits mailing list