diff --git a/src/sunstone/public/app/tabs/provision-tab.js b/src/sunstone/public/app/tabs/provision-tab.js index 87433865df..a32cc46a7d 100644 --- a/src/sunstone/public/app/tabs/provision-tab.js +++ b/src/sunstone/public/app/tabs/provision-tab.js @@ -979,7 +979,6 @@ define(function(require) { $(".provision_capacity_selector", create_vm_context), template_json.VMTEMPLATE); - that.original_disks = jQuery.extend(true, {}, template_json.VMTEMPLATE.TEMPLATE.DISK); var disksContext = $(".provision_disk_selector", create_vm_context); disksContext.data("template_json", template_json); @@ -1091,29 +1090,13 @@ define(function(require) { var vm_name = $("#vm_name", context).val(); var nics = NicsSection.retrieve(context); - var odisks = that.original_disks; - if (!Array.isArray(odisks)){ - odisks = [odisks]; - } var disks = DisksResize.retrieve($(".provision_disk_selector", context)); - $.each(disks, function(dkey, dvalue){ - $.each(odisks, function(okey, ovalue){ - if (dvalue.DISK_ID == ovalue.DISK_ID && dvalue.IMAGE_ID){ - if (dvalue.SIZE != ovalue.SIZE) { - var disk = { IMAGE_ID: dvalue.IMAGE_ID, SIZE: dvalue.SIZE }; - } else { - var disk = { IMAGE_ID: dvalue.IMAGE_ID }; - } - disks[dkey] = disk; - } - }); - }); var extra_info = { 'vm_name' : vm_name, 'template': { } - } + }; var vmgroup = VMGroupSection.retrieve($(".vmgroupContext"+ template_id)); diff --git a/src/sunstone/public/app/utils/disks-resize.js b/src/sunstone/public/app/utils/disks-resize.js index a977f1b4a7..a1bef4368b 100644 --- a/src/sunstone/public/app/utils/disks-resize.js +++ b/src/sunstone/public/app/utils/disks-resize.js @@ -125,6 +125,7 @@ define(function(require){ '' + '').appendTo($(".disksContainer", disksContext)); if (disks_base) { + disks_base[disk_id].SIZE = disk.SIZE; diskContext.data('template_disk', disks_base[disk_id]); } @@ -222,14 +223,17 @@ define(function(require){ disk = $(this).data("template_disk"); var fields = WizardFields.retrieve(this); - - if (fields.SIZE != undefined){ - disk['SIZE'] = fields.SIZE; + if (disk["SIZE"] && fields["SIZE"] && disk["SIZE"] === fields["SIZE"]){ + delete disk["SIZE"]; + disks.push(disk); + } + else if (fields.SIZE != undefined){ + var size = $.extend(true, [], fields.SIZE); + var size = size.join(""); + var diskAux = $.extend(true, {}, disk); + diskAux["SIZE"] = fields.SIZE; + disks.push(diskAux); } - } - - if (disk) { - disks.push(disk); } });