From 1f9844cd71938d9fcc77791fd7812ab919a4f9a7 Mon Sep 17 00:00:00 2001 From: Frederick Borges Date: Tue, 12 Jan 2021 12:07:34 +0100 Subject: [PATCH] F #4994: Add VM name to VNC dialog Signed-off-by: Frederick Borges --- src/sunstone/public/app/opennebula/vm.js | 4 +++- src/sunstone/public/app/tabs/vms-tab/actions.js | 12 +++++++++--- src/sunstone/public/app/utils/gclient.js | 15 ++++++++------- 3 files changed, 20 insertions(+), 11 deletions(-) diff --git a/src/sunstone/public/app/opennebula/vm.js b/src/sunstone/public/app/opennebula/vm.js index e4d94b99a2..bc72ab17bf 100644 --- a/src/sunstone/public/app/opennebula/vm.js +++ b/src/sunstone/public/app/opennebula/vm.js @@ -612,7 +612,8 @@ define(function(require) { var callback = params.success; var callback_error = params.error; var id = params.data.id; - var typeConnection = params.data.extra_param; + var typeConnection = params.data.extra_param.type; + var vm_name = params.data.extra_param.vm_name; var resource = RESOURCE; var request = OpenNebulaHelper.request(resource, null, params.data); @@ -621,6 +622,7 @@ define(function(require) { type: "POST", dataType: "json", success: function(response) { + response.vm_name = vm_name; return callback ? callback(request, response) : null; }, error: function(response) { diff --git a/src/sunstone/public/app/tabs/vms-tab/actions.js b/src/sunstone/public/app/tabs/vms-tab/actions.js index 13ec2226fb..7b830e1071 100644 --- a/src/sunstone/public/app/tabs/vms-tab/actions.js +++ b/src/sunstone/public/app/tabs/vms-tab/actions.js @@ -347,7 +347,9 @@ define(function(require) { type: "custom", call: function() { $.each(Sunstone.getDataTable(TAB_ID).elements(), function(index, elem) { - Sunstone.runAction("VM.startguac_action", elem, 'vnc'); + var vm_name = OpenNebulaVM.getName(elem); + var extra_param = {type: 'vnc', 'vm_name': vm_name } + Sunstone.runAction("VM.startguac_action", elem, extra_param); }); }, error: function(req, resp) { @@ -358,7 +360,9 @@ define(function(require) { type: "custom", call: function() { $.each(Sunstone.getDataTable(TAB_ID).elements(), function(index, elem) { - Sunstone.runAction("VM.startguac_action", elem, 'rdp'); + var vm_name = OpenNebulaVM.getName(elem); + var extra_param = {type: 'rdp', 'vm_name': vm_name } + Sunstone.runAction("VM.startguac_action", elem, extra_param); }); }, error: function(req, resp) { @@ -369,7 +373,9 @@ define(function(require) { type: "custom", call: function() { $.each(Sunstone.getDataTable(TAB_ID).elements(), function(index, elem) { - Sunstone.runAction("VM.startguac_action", elem, 'ssh'); + var vm_name = OpenNebulaVM.getName(elem); + var extra_param = {type: 'ssh', 'vm_name': vm_name } + Sunstone.runAction("VM.startguac_action", elem, extra_param); }); }, error: function(req, resp) { diff --git a/src/sunstone/public/app/utils/gclient.js b/src/sunstone/public/app/utils/gclient.js index 1369fe6cd8..23176cac59 100644 --- a/src/sunstone/public/app/utils/gclient.js +++ b/src/sunstone/public/app/utils/gclient.js @@ -75,6 +75,7 @@ define(function(require) { var tunnel = new Guacamole.WebSocketTunnel(wsprotocol + '//' + host + ':' + port + '/fireedge/guacamole') var guac = this._client = new Guacamole.Client(tunnel); + var vm_name = response.vm_name || ""; // Client display this._display = $("#guacamole-display"); @@ -94,19 +95,19 @@ define(function(require) { guac.onstatechange = function(state) { switch (state) { case 0: - setStatus("Client IDLE"); + setStatus("Client IDLE to: " + vm_name); setLoading(true); break; case 1: - setStatus("Client CONNECTING"); + setStatus("Client CONNECTING to: " + vm_name); setLoading(true); break; case 2: - setStatus("Client WAITING"); + setStatus("Client WAITING to: " + vm_name); setLoading(true); break; case 3: - setStatus("Client CONNECTED"); + setStatus("Client CONNECTED to: " + vm_name); setLoading(false); setTimeout(function() { rescale(that); @@ -114,15 +115,15 @@ define(function(require) { }, 100); break; case 4: - setStatus("Client DISCONNECTING"); + setStatus("Client DISCONNECTING to: " + vm_name); setLoading(true); break; case 5: - setStatus("Client DISCONNECTED"); + setStatus("Client DISCONNECTED to: " + vm_name); setLoading(false); break; default: - setStatus("Client ERROR"); + setStatus("Client ERROR to: " + vm_name); setLoading(false); break; }