This is an automated email from the ASF dual-hosted git repository.

rohit pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cloudstack.git


The following commit(s) were added to refs/heads/master by this push:
     new f7af27c  ui: added missing hypervisor options for upload template 
(#3367)
f7af27c is described below

commit f7af27c3c87442e3a0df0f91e36d03c316434078
Author: Abhishek Kumar <abhishek.mr...@gmail.com>
AuthorDate: Wed Jun 5 18:44:37 2019 +0530

    ui: added missing hypervisor options for upload template (#3367)
    
    Upload template form was missing some hypervisor specific options which can 
be seen on Register template form.
    For XenServer, XenServer tool version added
    For VMware, Root disk controller, NIC adapter type, Keyboard type added and 
HVM is hidden
    For KVM, Root disk controller added
    
    Fixes #3363
    
    Signed-off-by: Abhishek Kumar <abhishek.mr...@gmail.com>
---
 ui/scripts/templates.js | 273 ++++++++++++++++++++++++++++++++++++++++++++----
 1 file changed, 250 insertions(+), 23 deletions(-)

diff --git a/ui/scripts/templates.js b/ui/scripts/templates.js
index f3bed8b..43b83b2 100755
--- a/ui/scripts/templates.js
+++ b/ui/scripts/templates.js
@@ -296,21 +296,8 @@
 
                                         }
                                     },
-                                    // For KVM only: Direct Download
-                                    directdownload : {
-                                        label: 'label.direct.download',
-                                        docID: 
'helpRegisterTemplateDirectDownload',
-                                        isBoolean: true,
-                                        dependsOn: 'hypervisor',
-                                        isHidden: true
-                                    },
-                                    checksum: {
-                                        label: 'label.checksum',
-                                        dependsOn: 'directdownload',
-                                        isHidden: true
-                                    },
-                                    // Direct Download - End
 
+                                    // fields for hypervisor == XenServer 
(starts here)
                                     xenserverToolsVersion61plus: {
                                         label: 
'label.xenserver.tools.version.61.plus',
                                         isBoolean: true,
@@ -334,8 +321,23 @@
                                         },
                                         isHidden: true
                                     },
+                                    // fields for hypervisor == XenServer 
(ends here)
 
-                                    //fields for hypervisor == "KVM" (starts 
here)
+                                    // fields for hypervisor == "KVM" (starts 
here)
+                                    // Direct Download
+                                    directdownload : {
+                                        label: 'label.direct.download',
+                                        docID: 
'helpRegisterTemplateDirectDownload',
+                                        isBoolean: true,
+                                        dependsOn: 'hypervisor',
+                                        isHidden: true
+                                    },
+                                    checksum: {
+                                        label: 'label.checksum',
+                                        dependsOn: 'directdownload',
+                                        isHidden: true
+                                    },
+                                    // Direct Download - End
                                     rootDiskControllerTypeKVM: {
                                         label: 'label.root.disk.controller',
                                         isHidden: true,
@@ -366,8 +368,9 @@
                                             });
                                         }
                                     },
+                                    // fields for hypervisor == "KVM" (ends 
here)
 
-                                    //fields for hypervisor == "VMware" 
(starts here)
+                                    // fields for hypervisor == "VMware" 
(starts here)
                                     rootDiskControllerType: {
                                         label: 'label.root.disk.controller',
                                         isHidden: true,
@@ -460,7 +463,7 @@
                                             });
                                         }
                                     },
-                                    //fields for hypervisor == "VMware" (ends 
here)
+                                    // fields for hypervisor == "VMware" (ends 
here)
 
                                     format: {
                                         label: 'label.format',
@@ -641,15 +644,15 @@
                                     });
                                 }
 
-                                //XenServer only (starts here)
+                                // for hypervisor == XenServer (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)
+                                // for hypervisor == XenServer (ends here)
 
-                                // KVM only (starts here)
+                                // for hypervisor == KVM (starts here)
                                 if 
(args.$form.find('.form-item[rel=rootDiskControllerTypeKVM]').css("display") != 
"none" && args.data.rootDiskControllerTypeKVM != "") {
                                     $.extend(data, {
                                         'details[0].rootDiskController': 
args.data.rootDiskControllerTypeKVM
@@ -662,9 +665,9 @@
                                         'checksum': args.data.checksum
                                     });
                                 }
-                                // KVM only (ends here)
+                                // for hypervisor == KVM (ends here)
 
-                                //VMware only (starts here)
+                                // for hypervisor == VMware (starts here)
                                 if 
(args.$form.find('.form-item[rel=rootDiskControllerType]').css("display") != 
"none" && args.data.rootDiskControllerType != "") {
                                     $.extend(data, {
                                         'details[0].rootDiskController': 
args.data.rootDiskControllerType
@@ -680,7 +683,7 @@
                                         'details[0].keyboard': 
args.data.keyboardType
                                     });
                                 }
-                                //VMware only (ends here)
+                                // for hypervisor == VMware (ends here)
 
                                 $.ajax({
                                     url: createURL('registerTemplate'),
@@ -732,6 +735,40 @@
                                             hypervisor: args.data.hypervisor
                                         };
 
+                                        // for hypervisor == XenServer (starts 
here)
+                                        if 
(args.$form.find('.form-item[rel=xenserverToolsVersion61plus]').css("display") 
!= "none") {
+                                            $.extend(data, {
+                                                
'details[0].hypervisortoolsversion': (args.data.xenserverToolsVersion61plus == 
"on") ? "xenserver61" : "xenserver56"
+                                            });
+                                        }
+                                        // for hypervisor == XenServer (ends 
here)
+
+                                        // for hypervisor == KVM (starts here)
+                                        if 
(args.$form.find('.form-item[rel=rootDiskControllerTypeKVM]').css("display") != 
"none" && args.data.rootDiskControllerTypeKVM != "") {
+                                            $.extend(data, {
+                                                
'details[0].rootDiskController': args.data.rootDiskControllerTypeKVM
+                                            });
+                                        }
+                                        // for hypervisor == KVM (ends here)
+
+                                        // for hypervisor == VMware (starts 
here)
+                                        if 
(args.$form.find('.form-item[rel=rootDiskControllerType]').css("display") != 
"none" && args.data.rootDiskControllerType != "") {
+                                            $.extend(data, {
+                                                
'details[0].rootDiskController': args.data.rootDiskControllerType
+                                            });
+                                        }
+                                        if 
(args.$form.find('.form-item[rel=nicAdapterType]').css("display") != "none" && 
args.data.nicAdapterType != "") {
+                                            $.extend(data, {
+                                                'details[0].nicAdapter': 
args.data.nicAdapterType
+                                            });
+                                        }
+                                        if 
(args.$form.find('.form-item[rel=keyboardType]').css("display") != "none" && 
args.data.keyboardType != "") {
+                                            $.extend(data, {
+                                                'details[0].keyboard': 
args.data.keyboardType
+                                            });
+                                        }
+                                        // for hypervisor == VMware (ends here)
+
                                         if 
(args.$form.find('.form-item[rel=isPublic]').css("display") != "none") {
                                             $.extend(data, {
                                                 ispublic: (args.data.isPublic 
== "on")
@@ -865,8 +902,198 @@
                                                     });
                                                 }
                                             });
+                                            args.$select.change(function() {
+                                                var $form = 
$(this).closest('form');
+                                                if ($(this).val() == "VMware") 
{
+                                                    
$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();
+                                                    
$form.find('.form-item[rel=rootDiskControllerTypeKVM]').hide();
+                                                    
$form.find('.form-item[rel=requireshvm]').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();
+                                                    
$form.find('.form-item[rel=rootDiskControllerTypeKVM]').hide();
+                                                    
$form.find('.form-item[rel=requireshvm]').css('display', 'inline-block');
+                                                    if (isAdmin()) {
+                                                        
$form.find('.form-item[rel=xenserverToolsVersion61plus]').css('display', 
'inline-block');
+                                                    }
+                                                } else if ($(this).val() == 
"KVM") {
+                                                    
$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();
+                                                    
$form.find('.form-item[rel=rootDiskControllerTypeKVM]').css('display', 
'inline-block');
+                                                    
$('#label_root_disk_controller').prop('selectedIndex', 2);
+                                                    
$form.find('.form-item[rel=requireshvm]').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();
+                                                    
$form.find('.form-item[rel=rootDiskControllerTypeKVM]').hide();
+                                                    
$form.find('.form-item[rel=requireshvm]').css('display', 'inline-block');
+                                                }
+                                            });
+                                            args.$select.trigger('change');
+                                        }
+                                    },
+
+                                    // fields for hypervisor == XenServer 
(starts here)
+                                    xenserverToolsVersion61plus: {
+                                        label: 
'label.xenserver.tools.version.61.plus',
+                                        isBoolean: true,
+                                        isChecked: function (args) {
+                                             var b = true;
+                                            if (isAdmin()) {
+                                                $.ajax({
+                                                    url: 
createURL('listConfigurations'),
+                                                    data: {
+                                                        name: 
'xenserver.pvdriver.version'
+                                                    },
+                                                    async: false,
+                                                    success: function (json) {
+                                                        if 
(json.listconfigurationsresponse.configuration != null && 
json.listconfigurationsresponse.configuration[0].value != 'xenserver61') {
+                                                            b = false;
+                                                        }
+                                                    }
+                                                });
+                                            }
+                                            return b;
+                                        },
+                                        isHidden: true
+                                    },
+                                    // fields for hypervisor == XenServer 
(ends here)
+
+                                    // fields for hypervisor == "KVM" (starts 
here)
+                                    rootDiskControllerTypeKVM: {
+                                        label: 'label.root.disk.controller',
+                                        isHidden: true,
+                                        select: function(args) {
+                                            var items = []
+                                            items.push({
+                                                id: "",
+                                                description: ""
+                                            });
+                                            items.push({
+                                                id: "ide",
+                                                description: "ide"
+                                            });
+                                            items.push({
+                                                id: "osdefault",
+                                                description: "osdefault"
+                                            });
+                                            items.push({
+                                                id: "scsi",
+                                                description: "virtio-scsi"
+                                            });
+                                            items.push({
+                                                id: "virtio",
+                                                description: "virtio"
+                                            });
+                                            args.response.success({
+                                                data: items
+                                            });
+                                        }
+                                    },
+                                    // fields for hypervisor == "KVM" (ends 
here)
+
+                                    // fields for hypervisor == "VMware" 
(starts here)
+                                    rootDiskControllerType: {
+                                        label: 'label.root.disk.controller',
+                                        isHidden: true,
+                                        select: function(args) {
+                                            var items = []
+                                            items.push({
+                                                id: "",
+                                                description: ""
+                                            });
+                                            items.push({
+                                                id: "scsi",
+                                                description: "scsi"
+                                            });
+                                            items.push({
+                                                id: "ide",
+                                                description: "ide"
+                                            });
+                                            items.push({
+                                                id: "osdefault",
+                                                description: "osdefault"
+                                            });
+                                            items.push({
+                                                id: "pvscsi",
+                                                description: "pvscsi"
+                                            });
+                                            items.push({
+                                                id: "lsilogic",
+                                                description: "lsilogic"
+                                            });
+                                            items.push({
+                                                id: "lsisas1068",
+                                                description: "lsilogicsas"
+                                            });
+                                            items.push({
+                                                id: "buslogic",
+                                                description: "buslogic"
+                                            });
+                                            args.response.success({
+                                                data: items
+                                            });
+                                        }
+                                    },
+                                    nicAdapterType: {
+                                        label: 'label.nic.adapter.type',
+                                        isHidden: true,
+                                        select: function(args) {
+                                            var items = []
+                                            items.push({
+                                                id: "",
+                                                description: ""
+                                            });
+                                            items.push({
+                                                id: "E1000",
+                                                description: "E1000"
+                                            });
+                                            items.push({
+                                                id: "PCNet32",
+                                                description: "PCNet32"
+                                            });
+                                            items.push({
+                                                id: "Vmxnet2",
+                                                description: "Vmxnet2"
+                                            });
+                                            items.push({
+                                                id: "Vmxnet3",
+                                                description: "Vmxnet3"
+                                            });
+                                            args.response.success({
+                                                data: items
+                                            });
+                                        }
+                                    },
+                                    keyboardType: {
+                                        label: 'label.keyboard.type',
+                                        isHidden: true,
+                                        select: function(args) {
+                                            var items = []
+                                            items.push({
+                                                id: "",
+                                                description: ""
+                                            });
+                                            for (var key in 
cloudStackOptions.keyboardOptions) {
+                                                items.push({
+                                                    id: key,
+                                                    description: 
_l(cloudStackOptions.keyboardOptions[key])
+                                                });
+                                            }
+                                            args.response.success({
+                                                data: items
+                                            });
                                         }
                                     },
+                                    // fields for hypervisor == "VMware" (ends 
here)
 
                                     format: {
                                         label: 'label.format',

Reply via email to