return !!(window.history && window.history.pushState);
}
-function invokeUrlWithLocalStorageValue(url, alias, item) {
- value = localStorage.getItem(item);
- if (value) {
- window.location = alias;
- } else {
- window.location = url;
- }
+function getLocalStorageValue(item) {
+ return localStorage.getItem(item);
}
function clearLocalStorageValue(item) {
+$(document).ready(function(){
+ var $noShellAccessDiv = $('#no_shell_access');
+ if ($noShellAccessDiv.length) {
+ if (getLocalStorageValue('request_shell_access') == 'sent') {
+ $('div').remove('.no_shell_access_msg');
+ } else {
+ $('div').remove('.shell_access_requested');
+ }
+ }
+ });
+
$(document).
on('click', "#request_shell_submit", function(e){
$(this).html('Sending request ...');
# current user's ssh keys
@my_ssh_keys = AuthorizedKey.where(key_type: 'SSH', owner_uuid: current_user.uuid)
- # when localStorage indicating previous shell access request, the url used is "manage_acct"
- @local_storage_request_shell_access = true if request.url.include?('/manage_acct')
-
respond_to do |f|
f.html { render template: 'users/manage_account' }
end
</a>
<ul class="dropdown-menu" role="menu">
<% if current_user.is_active %>
- <li id='manage_account_link' role="menuitem"><a href="#"
- onClick="invokeUrlWithLocalStorageValue('/manage_account', '/manage_acct', 'request_shell_access');"
- role="menuitem"><i class="fa fa-key fa-fw"></i> Manage account</a></li>
+ <li id='manage_account_link' role="menuitem"><a href="/manage_account" role="menuitem"><i class="fa fa-key fa-fw"></i> Manage account</a></li>
<% if Rails.configuration.user_profile_form_fields %>
<li role="menuitem"><a href="/users/<%=current_user.uuid%>/profile" role="menuitem"><i class="fa fa-key fa-fw"></i> Manage profile</a></li>
<% end %>
</p>
<% if !@my_virtual_machines.any? %>
- <% if @local_storage_request_shell_access %>
+ <div id='no_shell_access' class='no_shell_access'>
<div id='shell_access_requested' class='shell_access_requested'>
<div class="alert alert-info">
<p class="contain-align-left">You do not have access to any virtual machines. A request was sent on your behalf.</p>
</div>
</div>
- <% else %>
- <div id='no_shell_access' class='no_shell_access'>
- <div id='no_shell_access_msg' class='no_shell_access_msg'>
- You do not have access to any virtual machines. Many of the Arvados features depend on having shell access to a hosted VM.
-
- <div style='display:inline-block'>
- <%= button_to('Request shell access', request_shell_access_user_url(id: current_user.uuid),
- id: 'request_shell_submit', class: 'btn btn-xs btn-primary', remote: true) %>
- </div>
+
+ <div id='no_shell_access_msg' class='no_shell_access_msg'>
+ You do not have access to any virtual machines. Many of the Arvados features depend on having shell access to a hosted VM.
+
+ <div style='display:inline-block'>
+ <%= button_to('Request shell access', request_shell_access_user_url(id: current_user.uuid),
+ id: 'request_shell_submit', class: 'btn btn-xs btn-primary', remote: true) %>
</div>
</div>
- <% end %>
+ </div>
<% else %>
<script> clearLocalStorageValue('request_shell_access'); </script>
<table class="table virtual-machines-table">
post 'request_shell_access', :on => :member
end
get '/manage_account' => 'users#manage_account'
- get '/manage_acct' => 'users#manage_account', :as => :manage_acct
get "/add_ssh_key_popup" => 'users#add_ssh_key_popup', :as => :add_ssh_key_popup
get "/add_ssh_key" => 'users#add_ssh_key', :as => :add_ssh_key
resources :logs