diff --git a/src/sunstone/public/js/plugins/images-tab.js b/src/sunstone/public/js/plugins/images-tab.js index 21a8e06fab..5ac5d6e8d7 100644 --- a/src/sunstone/public/js/plugins/images-tab.js +++ b/src/sunstone/public/js/plugins/images-tab.js @@ -244,13 +244,15 @@ var image_actions = { type: "create", call: OpenNebula.Image.create, callback: function(request, response){ - // Reset the create wizard + addImageElement(request, response); + if ($appmarket_import_dialog || $marketplace_import_dialog) { + $create_image_dialog.trigger('close'); + } else { $create_image_dialog.foundation('reveal', 'close'); $create_image_dialog.empty(); setupCreateImageDialog(); - - addImageElement(request, response); - notifyCustom(tr("Image created"), " ID: " + response.IMAGE.ID, false); + } + notifyCustom(tr("Image created"), " ID: " + response.IMAGE.ID, false) }, error: onError }, @@ -1020,6 +1022,8 @@ function initialize_create_image_dialog(dialog) { }); $('#create_image_submit',dialog).click(function(){ + $create_image_dialog = dialog; + var exit = false; var upload = false; $('.img_man',this).each(function(){ diff --git a/src/sunstone/public/js/plugins/marketplace-tab.js b/src/sunstone/public/js/plugins/marketplace-tab.js index 54a23fa8d6..6e9ea6af5c 100644 --- a/src/sunstone/public/js/plugins/marketplace-tab.js +++ b/src/sunstone/public/js/plugins/marketplace-tab.js @@ -60,7 +60,6 @@ var market_actions = { dialogs_context.append(marketplace_import_dialog); $marketplace_import_dialog = $('#marketplace_import_dialog',dialogs_context); $marketplace_import_dialog.addClass("reveal-modal large max-height").attr("data-reveal", ""); - $marketplace_import_dialog.foundation().foundation('reveal', 'open'); var tab_id = 1; @@ -110,8 +109,8 @@ var market_actions = { }) image_dialog.on("close", function(){ - a_image_dialog.html(""); - image_dialog.html(""); + a_image_dialog.remove(); + image_dialog.remove(); if ($('a', $("dl#marketplace_import_dialog_tabs")).size > 0) { $('a', $("dl#marketplace_import_dialog_tabs")).first().click(); } else { @@ -125,7 +124,19 @@ var market_actions = { }) if (response['opennebula_template'] && response['opennebula_template'] !== "CPU=1") { - $create_template_dialog.html(""); + var opennebula_template; + + try { + opennebula_template = JSON.parse(response['opennebula_template']); + } catch (error) { + notifyError("Error parsing OpenNebula template: " + error.message); + return; + } + + if ($create_template_dialog) { + $create_template_dialog.html(""); + } + // Template // Append the new div containing the tab and add the tab to the list var template_dialog = $('