X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/a32c4f9997a0c8941b62668c5e59941985359c05..28b6afc1e8ccf652c7a8fd43e22a8ac788febd85:/apps/workbench/app/controllers/virtual_machines_controller.rb diff --git a/apps/workbench/app/controllers/virtual_machines_controller.rb b/apps/workbench/app/controllers/virtual_machines_controller.rb index a62ba81b09..c743773141 100644 --- a/apps/workbench/app/controllers/virtual_machines_controller.rb +++ b/apps/workbench/app/controllers/virtual_machines_controller.rb @@ -1,3 +1,7 @@ +# Copyright (C) The Arvados Authors. All rights reserved. +# +# SPDX-License-Identifier: AGPL-3.0 + class VirtualMachinesController < ApplicationController def index @objects ||= model_class.all @@ -6,7 +10,7 @@ class VirtualMachinesController < ApplicationController Link.where(tail_uuid: current_user.uuid, head_uuid: @objects.collect(&:uuid), link_class: 'permission', - name: 'can_login'). + name: 'can_login').with_count("none"). each do |perm_link| if perm_link.properties.andand[:username] @vm_logins[perm_link.head_uuid] ||= [] @@ -19,4 +23,17 @@ class VirtualMachinesController < ApplicationController end super end + + def webshell + return render_not_found if Rails.configuration.Services.WebShell.ExternalURL == URI("") + webshell_url = URI(Rails.configuration.Services.WebShell.ExternalURL) + if webshell_url.host.index("*") != nil + webshell_url.host = webshell_url.host.sub("*", @object.hostname) + else + webshell_url.path = "/#{@object.hostname}" + end + @webshell_url = webshell_url.to_s + render layout: false + end + end