CLOUDSTACK-4649: UI > (1) Register Template dialog: add 'XenServer Tools Version 6.1+' checkbox.

(2) Template detailView: add 'XenServer Tools Version 6.1+' field.
(3) Instance detailView: add 'XenServer Tools Version 6.1+' field.
This commit is contained in:
Jessica Wang 2013-10-22 14:02:19 -07:00
parent c9101966e0
commit c3ddd3bf00
3 changed files with 101 additions and 8 deletions

View File

@ -1463,9 +1463,13 @@
if (isAdmin()) {
hiddenFields = [];
} else {
hiddenFields = ["hypervisor"];
hiddenFields = ["hypervisor", 'xenserverToolsVersion61plus'];
}
if ('instances' in args.context && args.context.instances[0].hypervisor != 'XenServer') {
hiddenFields.push('xenserverToolsVersion61plus');
}
if (!args.context.instances[0].publicip) {
hiddenFields.push('publicip');
}
@ -1547,6 +1551,18 @@
label: 'label.hypervisor'
},
xenserverToolsVersion61plus: {
label: 'XenServer Tools Version 6.1+',
isBoolean: true,
isEditable: function () {
if (isAdmin())
return true;
else
return false;
},
converter: cloudStack.converters.toBooleanText
},
/*
isoid: {
label: 'label.attached.iso',
@ -1622,6 +1638,13 @@
state: "Destroyed"
}); //after a regular user destroys a VM, listVirtualMachines API will no longer returns this destroyed VM to the regular user.
if ('details' in jsonObj && 'hypervisortoolsversion' in jsonObj.details) {
if (jsonObj.details.hypervisortoolsversion == 'xenserver61')
jsonObj.xenserverToolsVersion61plus = true;
else
jsonObj.xenserverToolsVersion61plus = false;
}
args.response.success({
actionFilter: vmActionfilter,
data: jsonObj

View File

@ -855,6 +855,7 @@ cloudStack.preFilter = {
args.$form.find('.form-item[rel=isPublic]').hide();
}
args.$form.find('.form-item[rel=isFeatured]').hide();
args.$form.find('.form-item[rel=xenserverToolsVersion61plus]').hide();
}
},
addLoadBalancerDevice: function(args) { //add netscaler device OR add F5 device

View File

@ -214,10 +214,21 @@
$form.find('.form-item[rel=rootDiskControllerType]').css('display', 'inline-block');
$form.find('.form-item[rel=nicAdapterType]').css('display', 'inline-block');
$form.find('.form-item[rel=keyboardType]').css('display', 'inline-block');
$form.find('.form-item[rel=xenserverToolsVersion61plus]').hide();
} else if ($(this).val() == "XenServer") {
$form.find('.form-item[rel=rootDiskControllerType]').hide();
$form.find('.form-item[rel=nicAdapterType]').hide();
$form.find('.form-item[rel=keyboardType]').hide();
if (isAdmin())
$form.find('.form-item[rel=xenserverToolsVersion61plus]').css('display', 'inline-block');
} else {
$form.find('.form-item[rel=rootDiskControllerType]').hide();
$form.find('.form-item[rel=nicAdapterType]').hide();
$form.find('.form-item[rel=keyboardType]').hide();
$form.find('.form-item[rel=xenserverToolsVersion61plus]').hide();
}
});
@ -225,6 +236,30 @@
}
},
xenserverToolsVersion61plus: {
label: 'XenServer Tools Version 6.1+',
isBoolean: true,
isChecked: function (args) {
var b = false;
if (isAdmin()) {
$.ajax({
url: createURL('listConfigurations'),
data: {
name: 'xen.pvdriver.version'
},
async: false,
success: function (json) {
if (json.listconfigurationsresponse.configuration != null && json.listconfigurationsresponse.configuration[0].value == 'xenserver61') {
b = true;
}
}
});
}
return b;
},
isHidden: true
},
//fields for hypervisor == "VMware" (starts here)
rootDiskControllerType: {
label: 'label.root.disk.controller',
@ -439,6 +474,16 @@
});
}
//XenServer only (starts here)
if (args.$form.find('.form-item[rel=xenserverToolsVersion61plus]').css("display") != "none") {
$.extend(data, {
'details[0].hypervisortoolsversion': (args.data.xenserverToolsVersion61plus == "on") ? "xenserver61" : "xenserver56"
});
}
//XenServer only (ends here)
//VMware only (starts here)
if (args.$form.find('.form-item[rel=rootDiskControllerType]').css("display") != "none" && args.data.rootDiskControllerType != "") {
$.extend(data, {
@ -800,8 +845,13 @@
if (isAdmin()) {
hiddenFields = [];
} else {
hiddenFields = ["hypervisor"];
hiddenFields = ["hypervisor", 'xenserverToolsVersion61plus'];
}
if ('templates' in args.context && args.context.templates[0].hypervisor != 'XenServer') {
hiddenFields.push('xenserverToolsVersion61plus');
}
return hiddenFields;
},
@ -833,6 +883,17 @@
hypervisor: {
label: 'label.hypervisor'
},
xenserverToolsVersion61plus: {
label: 'XenServer Tools Version 6.1+',
isBoolean: true,
isEditable: function () {
if (isAdmin())
return true;
else
return false;
},
converter: cloudStack.converters.toBooleanText
},
templatetype: {
label: 'label.type'
},
@ -959,13 +1020,21 @@
url: createURL(apiCmd),
dataType: "json",
success: function(json) {
args.response.success({
actionFilter: templateActionfilter,
data: json.listtemplatesresponse.template[0]
});
var jsonObj = json.listtemplatesresponse.template[0];
if ('details' in jsonObj && 'hypervisortoolsversion' in jsonObj.details) {
if (jsonObj.details.hypervisortoolsversion == 'xenserver61')
jsonObj.xenserverToolsVersion61plus = true;
else
jsonObj.xenserverToolsVersion61plus = false;
}
args.response.success({
actionFilter: templateActionfilter,
data: jsonObj
});
}
});
}
}
}