mirror of
https://github.com/OpenNebula/one.git
synced 2025-03-22 18:50:08 +03:00
parent
e0937d82fa
commit
4ec9d50424
@ -897,16 +897,31 @@ define(function(require) {
|
||||
// returns true if the RDP button should be enabled
|
||||
function isRDPSupported(element) {
|
||||
var rtn = false;
|
||||
if(element.TEMPLATE && element.TEMPLATE.NIC){
|
||||
if(!Array.isArray(element.TEMPLATE.NIC)){
|
||||
element.TEMPLATE.NIC = [element.TEMPLATE.NIC];
|
||||
|
||||
if(element.TEMPLATE && element.TEMPLATE.NIC) {
|
||||
var template = element.TEMPLATE;
|
||||
|
||||
rtn = hasRDP(template.NIC)
|
||||
|
||||
if (!rtn && template.NIC_ALIAS) {
|
||||
rtn = hasRDP(template.NIC_ALIAS)
|
||||
}
|
||||
element.TEMPLATE.NIC.some(function(nic) {
|
||||
rtn = nic.RDP && nic.RDP == "YES"
|
||||
})
|
||||
}
|
||||
return rtn;
|
||||
}
|
||||
|
||||
function hasRDP(nics) {
|
||||
var activated = false;
|
||||
nics = Array.isArray(nics) ? nics : [nics];
|
||||
|
||||
$.each(nics, function(_, nic) {
|
||||
if (nic.RDP && String(nic.RDP).toLowerCase() === "yes") {
|
||||
activated = true;
|
||||
}
|
||||
});
|
||||
|
||||
return activated;
|
||||
}
|
||||
|
||||
return VM;
|
||||
});
|
||||
|
@ -177,9 +177,19 @@ define(function(require) {
|
||||
call: function() {
|
||||
var vm = Sunstone.getElementRightInfo(TAB_ID);
|
||||
|
||||
if (vm && vm.NAME && vm.TEMPLATE && vm.TEMPLATE.NIC && Array.isArray(vm.TEMPLATE.NIC)) {
|
||||
if (vm && vm.NAME && vm.TEMPLATE && vm.TEMPLATE.NIC) {
|
||||
var name = vm.NAME;
|
||||
var nic = vm.TEMPLATE.NIC.find(n => n.RDP === "YES");
|
||||
var nics = vm.TEMPLATE.NIC;
|
||||
nics = Array.isArray(nics) ? vm.TEMPLATE.NIC : [vm.TEMPLATE.NIC];
|
||||
|
||||
// append nic_alias in nics
|
||||
if (vm.TEMPLATE.NIC_ALIAS) {
|
||||
var alias = vm.TEMPLATE.NIC_ALIAS;
|
||||
alias = Array.isArray(alias) ? alias : [alias];
|
||||
nics = $.merge(alias, nics)
|
||||
}
|
||||
|
||||
var nic = nics.find(n => n.RDP && String(n.RDP).toUpperCase() === "YES");
|
||||
var ip = nic && nic.IP ? nic.IP : '';
|
||||
var credentials = {};
|
||||
|
||||
@ -187,12 +197,12 @@ define(function(require) {
|
||||
var context = vm.TEMPLATE.CONTEXT;
|
||||
for (var prop in context) {
|
||||
var propUpperCase = String(prop).toUpperCase();
|
||||
(propUpperCase === "USERNAME" || propUpperCase === "PASSWORD")
|
||||
(propUpperCase === "USERNAME" || propUpperCase === "PASSWORD")
|
||||
&& (credentials[propUpperCase] = context[prop]);
|
||||
}
|
||||
}
|
||||
|
||||
nic && Rdp.downloadFile(ip, name, credentials);
|
||||
nic && Rdp.downloadFile(ip, name, credentials);
|
||||
} else {
|
||||
Notifier.notifyError(Locale.tr("RDP file error"));
|
||||
return false;
|
||||
|
Loading…
x
Reference in New Issue
Block a user