Merge branch 'master' into 13822-nm-delayed-daemon
[arvados.git] / apps / workbench / app / views / users / link_account.html.erb
index a0fb41b2b6af60defb8d9c8070a4bce2edcc3922..86a0446e76e07603b079ac50465a63a3885c81cb 100644 (file)
@@ -1,3 +1,7 @@
+<%# Copyright (C) The Arvados Authors. All rights reserved.
+
+SPDX-License-Identifier: AGPL-3.0 %>
+
 <%= javascript_tag do %>
   function update_visibility() {
     if (sessionStorage.getItem('link_account_api_token') &&
       $("#need-login").css({"display": "none"});
 
       <% if params[:direction] == "in" %>
-      var user_a = "<b>"+sessionStorage.getItem('link_account_email')+"</b> ("+sessionStorage.getItem('link_account_uuid')+")";
-      var user_b = "<b><%= Thread.current[:user].email %></b> (<%= Thread.current[:user].uuid%>)";
+      var user_a = "<b>"+sessionStorage.getItem('link_account_email')+"</b> ("+sessionStorage.getItem('link_account_username')+", "+sessionStorage.getItem('link_account_uuid')+")";
+      var user_b = "<b><%= Thread.current[:user].email %></b> (<%= Thread.current[:user].username%>, <%= Thread.current[:user].uuid%>)";
       var user_a_is_active = (sessionStorage.getItem('link_account_is_active') == "true");
       var user_a_is_admin = (sessionStorage.getItem('link_account_is_admin') == "true");
       var user_b_is_admin = <%=if Thread.current[:user].is_admin then "true" else "false" end %>;
       <% else %>
-      var user_a = "<b><%= Thread.current[:user].email %></b> (<%= Thread.current[:user].uuid%>)";
-      var user_b = "<b>"+sessionStorage.getItem('link_account_email')+"</b> ("+sessionStorage.getItem('link_account_uuid')+")";
+      var user_a = "<b><%= Thread.current[:user].email %></b> (<%= Thread.current[:user].username%>, <%= Thread.current[:user].uuid%>)";
+      var user_b = "<b>"+sessionStorage.getItem('link_account_email')+"</b> ("+sessionStorage.getItem('link_account_username')+", "+sessionStorage.getItem('link_account_uuid')+")";
       var user_a_is_active = <%= Thread.current[:user].is_active %>;
       var user_a_is_admin = <%=if Thread.current[:user].is_admin then "true" else "false" end %>;
       var user_b_is_admin = (sessionStorage.getItem('link_account_is_admin') == "true");
@@ -42,6 +46,7 @@
     sessionStorage.removeItem('link_account_api_token');
     sessionStorage.removeItem('link_account_uuid');
     sessionStorage.removeItem('link_account_email');
+    sessionStorage.removeItem('link_account_username');
     sessionStorage.removeItem('link_account_created_at');
     sessionStorage.removeItem('link_account_is_active');
     sessionStorage.removeItem('link_account_is_admin');
   function do_login(dir) {
     sessionStorage.setItem('link_account_api_token', '<%= Thread.current[:arvados_api_token] %>');
     sessionStorage.setItem('link_account_email', '<%= Thread.current[:user].email %>');
+    sessionStorage.setItem('link_account_username', '<%= Thread.current[:user].username %>');
     sessionStorage.setItem('link_account_uuid', '<%= Thread.current[:user].uuid %>');
     sessionStorage.setItem('link_account_created_at', '<%= Thread.current[:user].created_at %>');
     sessionStorage.setItem('link_account_is_active', <%= if Thread.current[:user].is_active then "true" else "false" end %>);
     sessionStorage.setItem('link_account_is_admin', <%= if Thread.current[:user].is_admin then "true" else "false" end %>);
-    window.location.replace('<%=arvados_api_client.arvados_login_url(return_to: "#{strip_token_from_path(request.url)}?direction=")%>'+dir);
+    window.location.replace('<%=arvados_api_client.arvados_logout_url(return_to: arvados_api_client.arvados_login_url(return_to: "#{strip_token_from_path(request.url)}?direction="))%>'+dir);
   }
 
   $(document).on("click", "#link-account-in", function(e) { do_login("in"); });
@@ -71,7 +77,7 @@
 
 <div id="need-login" style="display: none">
 
-  <p>You are currently logged in as <b><%= Thread.current[:user].email %></b> (<%= Thread.current[:user].uuid%>) created at <b><%= Thread.current[:user].created_at%></b></p>
+  <p>You are currently logged in as <b><%= Thread.current[:user].email %></b> (<%= Thread.current[:user].username%>, <%= Thread.current[:user].uuid %>) created at <b><%= Thread.current[:user].created_at%></b></p>
 
 <p>You can link Arvados accounts.  After linking, either login will take you to the same account.</p>