|
214 | 214 | $form.find('.form-item[rel=rootDiskControllerType]').css('display', 'inline-block'); |
215 | 215 | $form.find('.form-item[rel=nicAdapterType]').css('display', 'inline-block'); |
216 | 216 | $form.find('.form-item[rel=keyboardType]').css('display', 'inline-block'); |
| 217 | + |
| 218 | + $form.find('.form-item[rel=xenserverToolsVersion61plus]').hide(); |
| 219 | + } else if ($(this).val() == "XenServer") { |
| 220 | + $form.find('.form-item[rel=rootDiskControllerType]').hide(); |
| 221 | + $form.find('.form-item[rel=nicAdapterType]').hide(); |
| 222 | + $form.find('.form-item[rel=keyboardType]').hide(); |
| 223 | + |
| 224 | + if (isAdmin()) |
| 225 | + $form.find('.form-item[rel=xenserverToolsVersion61plus]').css('display', 'inline-block'); |
217 | 226 | } else { |
218 | 227 | $form.find('.form-item[rel=rootDiskControllerType]').hide(); |
219 | 228 | $form.find('.form-item[rel=nicAdapterType]').hide(); |
220 | 229 | $form.find('.form-item[rel=keyboardType]').hide(); |
| 230 | + |
| 231 | + $form.find('.form-item[rel=xenserverToolsVersion61plus]').hide(); |
221 | 232 | } |
222 | 233 | }); |
223 | 234 |
|
224 | 235 | args.$select.trigger('change'); |
225 | 236 | } |
226 | 237 | }, |
227 | 238 |
|
| 239 | + xenserverToolsVersion61plus: { |
| 240 | + label: 'XenServer Tools Version 6.1+', |
| 241 | + isBoolean: true, |
| 242 | + isChecked: function (args) { |
| 243 | + var b = false; |
| 244 | + if (isAdmin()) { |
| 245 | + $.ajax({ |
| 246 | + url: createURL('listConfigurations'), |
| 247 | + data: { |
| 248 | + name: 'xen.pvdriver.version' |
| 249 | + }, |
| 250 | + async: false, |
| 251 | + success: function (json) { |
| 252 | + if (json.listconfigurationsresponse.configuration != null && json.listconfigurationsresponse.configuration[0].value == 'xenserver61') { |
| 253 | + b = true; |
| 254 | + } |
| 255 | + } |
| 256 | + }); |
| 257 | + } |
| 258 | + return b; |
| 259 | + }, |
| 260 | + isHidden: true |
| 261 | + }, |
| 262 | + |
228 | 263 | //fields for hypervisor == "VMware" (starts here) |
229 | 264 | rootDiskControllerType: { |
230 | 265 | label: 'label.root.disk.controller', |
|
439 | 474 | }); |
440 | 475 | } |
441 | 476 |
|
| 477 | + |
| 478 | + //XenServer only (starts here) |
| 479 | + if (args.$form.find('.form-item[rel=xenserverToolsVersion61plus]').css("display") != "none") { |
| 480 | + $.extend(data, { |
| 481 | + 'details[0].hypervisortoolsversion': (args.data.xenserverToolsVersion61plus == "on") ? "xenserver61" : "xenserver56" |
| 482 | + }); |
| 483 | + } |
| 484 | + //XenServer only (ends here) |
| 485 | + |
| 486 | + |
442 | 487 | //VMware only (starts here) |
443 | 488 | if (args.$form.find('.form-item[rel=rootDiskControllerType]').css("display") != "none" && args.data.rootDiskControllerType != "") { |
444 | 489 | $.extend(data, { |
|
800 | 845 | if (isAdmin()) { |
801 | 846 | hiddenFields = []; |
802 | 847 | } else { |
803 | | - hiddenFields = ["hypervisor"]; |
| 848 | + hiddenFields = ["hypervisor", 'xenserverToolsVersion61plus']; |
804 | 849 | } |
| 850 | + |
| 851 | + if ('templates' in args.context && args.context.templates[0].hypervisor != 'XenServer') { |
| 852 | + hiddenFields.push('xenserverToolsVersion61plus'); |
| 853 | + } |
| 854 | + |
805 | 855 | return hiddenFields; |
806 | 856 | }, |
807 | 857 |
|
|
833 | 883 | hypervisor: { |
834 | 884 | label: 'label.hypervisor' |
835 | 885 | }, |
| 886 | + xenserverToolsVersion61plus: { |
| 887 | + label: 'XenServer Tools Version 6.1+', |
| 888 | + isBoolean: true, |
| 889 | + isEditable: function () { |
| 890 | + if (isAdmin()) |
| 891 | + return true; |
| 892 | + else |
| 893 | + return false; |
| 894 | + }, |
| 895 | + converter: cloudStack.converters.toBooleanText |
| 896 | + }, |
836 | 897 | templatetype: { |
837 | 898 | label: 'label.type' |
838 | 899 | }, |
|
959 | 1020 | url: createURL(apiCmd), |
960 | 1021 | dataType: "json", |
961 | 1022 | success: function(json) { |
962 | | - args.response.success({ |
963 | | - actionFilter: templateActionfilter, |
964 | | - data: json.listtemplatesresponse.template[0] |
965 | | - }); |
| 1023 | + var jsonObj = json.listtemplatesresponse.template[0]; |
| 1024 | + |
| 1025 | + if ('details' in jsonObj && 'hypervisortoolsversion' in jsonObj.details) { |
| 1026 | + if (jsonObj.details.hypervisortoolsversion == 'xenserver61') |
| 1027 | + jsonObj.xenserverToolsVersion61plus = true; |
| 1028 | + else |
| 1029 | + jsonObj.xenserverToolsVersion61plus = false; |
| 1030 | + } |
| 1031 | + |
| 1032 | + args.response.success({ |
| 1033 | + actionFilter: templateActionfilter, |
| 1034 | + data: jsonObj |
| 1035 | + }); |
966 | 1036 | } |
967 | 1037 | }); |
968 | | - |
969 | 1038 | } |
970 | 1039 | } |
971 | 1040 | } |
|
0 commit comments