Updated Branches: refs/heads/4.0 54f9af169 -> 009698e35
CLOUDSTACK-85: Fix instance wizard review hypervisor Fix hypervisor type not being shown in instance wizard review step Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/009698e3 Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/009698e3 Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/009698e3 Branch: refs/heads/4.0 Commit: 009698e3521d94f9644ea758c93152caa5e042f4 Parents: 7ecc63c Author: Brian Federle <[email protected]> Authored: Tue Sep 18 14:18:48 2012 -0700 Committer: Edison Su <[email protected]> Committed: Tue Sep 18 15:49:37 2012 -0700 ---------------------------------------------------------------------- ui/index.jsp | 3 + ui/scripts/ui-custom/instanceWizard.js | 64 ++++++++++++++++++-------- 2 files changed, 47 insertions(+), 20 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/009698e3/ui/index.jsp ---------------------------------------------------------------------- diff --git a/ui/index.jsp b/ui/index.jsp index a81dcb3..74a6f6d 100644 --- a/ui/index.jsp +++ b/ui/index.jsp @@ -136,6 +136,9 @@ under the License. <li class="last"><a href="#instance-wizard-my-templates"><fmt:message key="label.my.templates"/></a></li> </ul> + <!-- Used for Select Template only --> + <input type="hidden" wizard-field="hypervisor" name="hypervisor" value="" disabled="disabled"/> + <div id="instance-wizard-featured-templates"> <div class="select-container"> </div> http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/009698e3/ui/scripts/ui-custom/instanceWizard.js ---------------------------------------------------------------------- diff --git a/ui/scripts/ui-custom/instanceWizard.js b/ui/scripts/ui-custom/instanceWizard.js index 5ac8a22..6a9a057 100644 --- a/ui/scripts/ui-custom/instanceWizard.js +++ b/ui/scripts/ui-custom/instanceWizard.js @@ -264,6 +264,25 @@ }, { 'wizard-field': 'template' }); + var $templateHypervisor = $step.find('input[type=hidden][wizard-field=hypervisor]'); + + // Get hypervisor from template + if (type == 'featuredtemplates' || type == 'communitytemplates' || type == 'mytemplates') { + $selects.each(function() { + var $select = $(this); + var template = $.grep(args.data.templates[type], function(tmpl, v) { + return tmpl.id == $select.find('input').val(); + })[0]; + + $select.change(function() { + $templateHypervisor + .attr('disabled', false) + .val(template.hypervisor); + }); + }); + } else { + $templateHypervisor.attr('disabled', 'disabled'); + } if (type == 'featuredisos' || type == 'communityisos' || type == 'myisos') { // Create hypervisor select @@ -635,45 +654,50 @@ }, 'review': function($step, formData) { - $step.find('[wizard-field]').each(function() { - var field = $(this).attr('wizard-field'); - var fieldName; - var $input = $wizard.find('[wizard-field=' + field + ']').filter(function() { - return $(this).is(':selected') || $(this).is(':checked'); - }); + $step.find('[wizard-field]').each(function() { + var field = $(this).attr('wizard-field'); + var fieldName; + var $input = $wizard.find('[wizard-field=' + field + ']').filter(function() { + return ($(this).is(':selected') || + $(this).is(':checked') || + $(this).attr('type') == 'hidden') && + $(this).is(':not(:disabled)'); + }); - if ($input.is('option')) { - fieldName = $input.html(); - } else if ($input.is('input[type=radio]')) { + if ($input.is('option')) { + fieldName = $input.html(); + } else if ($input.is('input[type=radio]')) { // Choosen New network as default if ($input.parents('div.new-network').size()) { fieldName = $input.closest('div.new-network').find('input[name="new-network-name"]').val(); - // Choosen Network from existed + // Choosen Network from existed } else if ($input.parents('div.my-networks').size()) { fieldName = $input.closest('div.select').find('.select-desc .name').html(); } else { - fieldName = $input.parent().find('.select-desc .name').html(); - } + fieldName = $input.parent().find('.select-desc .name').html(); + } } else if ($input.eq(0).is('input[type=checkbox]')) { fieldName = ''; $input.each(function(index) { if (index != 0) fieldName += '<br />'; fieldName += $(this).next('div.select-desc').find('.name').html(); }); + } else if ($input.is('input[type=hidden]')) { + fieldName = $input.val(); + } + + if (fieldName) { + $(this).html(fieldName); + } else { + $(this).html('(' + _l('label.none') + ')'); } - if (fieldName) { - $(this).html(fieldName); - } else { - $(this).html('(' + _l('label.none') + ')'); - } - var conditionalFieldFrom = $(this).attr('conditional-field'); if (conditionalFieldFrom) { if ($wizard.find('.'+conditionalFieldFrom).css('display') == 'block') { - $(this).closest('div.select').show(); + $(this).closest('div.select').show(); } else { - $(this).closest('div.select').hide(); + $(this).closest('div.select').hide(); } } });
