[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