During setup of an existing user, create oid login permission, if it does not already...
[arvados.git] / apps / workbench / app / views / users / _setup_popup.html.erb
index b6e9e00ab4368d5ddbdbebc70b1416dbe79adfdd..aed57da978c70317de1d8a54c61c484723eab0c0 100644 (file)
@@ -1,15 +1,94 @@
- <div class="modal-header">
-    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
-    <h3 id="myModalLabel">Modal header</h3>
-  </div>
-
   <div class="modal-body">
-       <form method="POST" class="form-horizontal" onsubmit="return false">
-           <input id="repository_name" maxlength="250" name="repositoryname" type="text">
-       </form>
-  </div>
-  <div class="modal-footer">
-    <button id="save-button" class="btn" onclick="save_user()">Save</button>
-    <button class="btn" data-dismiss="modal" aria-hidden="true">Cancel</button>
+    <% if @object%>
+      <% uuid = @object.uuid %>
+      <% email = @object.email %>
+    <% end %>
+    <% disable_email = uuid != nil %>
+    <% identity_url_prefix = @current_selections[:identity_url_prefix] %>
+    <% disable_url_prefix = identity_url_prefix != nil %>
+    <% selected_repo = @current_selections[:repo_name] %>
+    <% selected_vm = @current_selections[:vm_uuid] %>
+    
+    <%= form_tag setup_user_path, {id: 'setup_form', name: 'setup_form', method: 'get', 
+                    class: 'form-search', remote: true} do %>
+      <input id="user_uuid" maxlength="250" name="user_uuid" type="hidden" value="<%=uuid%>">
+      <div>
+        <table><tbody>
+          <tr>
+            <% if disable_email %>
+              <td> Email </td>
+              <td> <input id="email" maxlength="250" name="email" type="text" value="<%=email%>" 
+                    disabled=true > </td>
+            <% else %>
+              <td> Email </td>
+              <td> <input id="email" maxlength="250" name="email" type="text" > </td>
+            <% end %>
+          </tr>
+          <tr>
+            <% if disable_url_prefix %>
+              <td> Identity URL Prefix &nbsp </td>
+              <td> <input id="openid_prefix" maxlength="250" name="openid_prefix" type="text" 
+                    value="<%=identity_url_prefix%>" disabled=true > </td>
+            <% else %>
+              <td> Openid Prefix </td>
+              <td> <input id="openid_prefix" maxlength="250" name="openid_prefix" type="text" 
+                    value="<%= Rails.configuration.default_openid_prefix %>"> </td>
+            <% end %>
+          </tr>
+          <tr>
+            <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>
+              <select name="vm_uuid">
+                <% if selected_vm %>
+                  <option value=""> Choose One: </option>
+                <% else %>
+                  <option value="" selected> Choose One: </option>
+                <% end %>
+                <% @vms.each do |vm| %>
+                  <% 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>
+          </tr>
+        </tbody></table>
+      </div>
+      <div align="center">
+        <br/>
+        <button type="submit" id="register" class="btn btn-primary" autofocus>Submit</button>
+        <button class="btn btn-primary" data-dismiss="modal" aria-hidden="true">Cancel</button>
+      </div>
+    <% end %>
   </div>
 
+<script>
+  var $input = $('input:text'),
+  $register = $('#register');
+
+  var email_disabled = document.forms["setup_form"]["email"].disabled;
+  var email_value = document.forms["setup_form"]["email"].value;
+  var prefix_value = document.forms["setup_form"]["openid_prefix"].value;
+  if ((email_disabled == false) && (email_value == null || email_value == "" || prefix_value == null || prefix_value == "")) {
+    $register.attr('disabled', true);
+  }
+
+  $input.keyup(function() {
+    var trigger = false;
+
+    var email_disabled = document.forms["setup_form"]["email"].disabled;
+    var email_value = document.forms["setup_form"]["email"].value;
+    var prefix_value = document.forms["setup_form"]["openid_prefix"].value;
+    if ((email_disabled == false) && (email_value == null || email_value == "" || prefix_value == null || prefix_value == "")) {
+      trigger = true;
+    }
+
+    trigger ? $register.attr('disabled', true) : $register.removeAttr('disabled');
+  });
+</script>