diff --git a/client/WEB-INF/classes/resources/resource.properties b/client/WEB-INF/classes/resources/resource.properties index bc806d40848..b65212e5771 100644 --- a/client/WEB-INF/classes/resources/resource.properties +++ b/client/WEB-INF/classes/resources/resource.properties @@ -63,6 +63,7 @@ disk.size = Disk Size value = Value description = Description category = Category +hypervisor = Hypervisor disk.offering = Disk Offering copy.ISO.to = Copy ISO to diff --git a/ui/new/jsp/iso.jsp b/ui/new/jsp/iso.jsp index 3121c3de9ec..330099c581f 100644 --- a/ui/new/jsp/iso.jsp +++ b/ui/new/jsp/iso.jsp @@ -244,7 +244,15 @@ - + +
  • + + +
  • diff --git a/ui/new/scripts/cloud.core2.diskoffering.js b/ui/new/scripts/cloud.core2.diskoffering.js index 1509ddecb41..305a8f807d0 100644 --- a/ui/new/scripts/cloud.core2.diskoffering.js +++ b/ui/new/scripts/cloud.core2.diskoffering.js @@ -141,7 +141,7 @@ function diskOfferingJsonToDetailsTab(jsonObj) { $detailsTab.find("#tags").text(fromdb(jsonObj.tags)); $detailsTab.find("#domain").text(fromdb(jsonObj.domain)); - //actions *** + //actions *** var $actionMenu = $("#right_panel_content #tab_content_details #action_link #action_menu"); $actionMenu.find("#action_list").empty(); var midmenuItemId = getMidmenuId(jsonObj); @@ -168,7 +168,6 @@ function diskOfferingClearDetailsTab() { $actionMenu.find("#action_list").append($("#no_available_actions").clone().show()); } - var diskOfferingActionMap = { "Delete Disk Offering": { api: "deleteDiskOffering", diff --git a/ui/new/scripts/cloud.core2.instance.js b/ui/new/scripts/cloud.core2.instance.js index 6f9560e57ab..bed5c357fdf 100644 --- a/ui/new/scripts/cloud.core2.instance.js +++ b/ui/new/scripts/cloud.core2.instance.js @@ -549,7 +549,8 @@ function clickInstanceGroupHeader($arrowIcon) { $("body").stopTime(timerKey); if (result.jobstatus == 1) { // Succeeded - vmToMidmenu(result.virtualmachine[0], $midmenuItem1); + vmToMidmenu(result.virtualmachine[0], $midmenuItem1); + bindClickToMidMenu($midmenuItem1, vmToRightPanel, getMidmenuId); if (result.virtualmachine[0].passwordenabled == 'true') { var extraMessage = "New password: " + result.virtualmachine[0].password; afterAddingMidMenuItem($midmenuItem1, true, extraMessage); diff --git a/ui/new/scripts/cloud.core2.iso.js b/ui/new/scripts/cloud.core2.iso.js index 82376d2cf28..5f8d027455e 100644 --- a/ui/new/scripts/cloud.core2.iso.js +++ b/ui/new/scripts/cloud.core2.iso.js @@ -397,13 +397,20 @@ function doCreateVMFromIso($actionLink, $detailsTab, midmenuItemId) { if (!isValid) return; thisDialog.dialog("close"); - - var name = trim(thisDialog.find("#name").val()); - var group = trim(thisDialog.find("#group").val()); - var serviceOfferingId = thisDialog.find("#service_offering").val(); - var diskOfferingId = thisDialog.find("#disk_offering").val(); + + var array1 = []; + var name = trim(thisDialog.find("#name").val()); + array1.push("&displayname="+todb(name)); + var group = trim(thisDialog.find("#group").val()); + array1.push("&group="+todb(group)); + var serviceOfferingId = thisDialog.find("#service_offering").val(); + array1.push("&serviceOfferingId="+serviceOfferingId); + var diskOfferingId = thisDialog.find("#disk_offering").val(); + array1.push("&diskOfferingId="+diskOfferingId); + var hypervisor = thisDialog.find("#hypervisor").val(); + array1.push("&hypervisor="+hypervisor); - var apiCommand = "command=deployVirtualMachine&zoneId="+zoneId+"&serviceOfferingId="+serviceOfferingId+"&diskOfferingId="+diskOfferingId+"&templateId="+id+"&group="+todb(group)+"&displayname="+todb(name); + var apiCommand = "command=deployVirtualMachine&zoneId="+zoneId+"&templateId="+id+array1.join(""); doActionToDetailsTab(id, $actionLink, apiCommand, midmenuItemId); }, "Cancel": function() { diff --git a/ui/new/scripts/cloud.core2.serviceoffering.js b/ui/new/scripts/cloud.core2.serviceoffering.js index 94a2f6de512..eff293c8d1f 100644 --- a/ui/new/scripts/cloud.core2.serviceoffering.js +++ b/ui/new/scripts/cloud.core2.serviceoffering.js @@ -164,4 +164,48 @@ function serviceOfferingJsonToDetailsTab(jsonObj) { $detailsTab.find("#networktype").text(toNetworkType(jsonObj.usevirtualnetwork)); $detailsTab.find("#tags").text(fromdb(jsonObj.tags)); setDateField(jsonObj.created, $detailsTab.find("#created")); -} \ No newline at end of file + + //actions *** + var $actionMenu = $("#right_panel_content #tab_content_details #action_link #action_menu"); + $actionMenu.find("#action_list").empty(); + var midmenuItemId = getMidmenuId(jsonObj); + buildActionLinkForDetailsTab("Delete Service Offering", serviceOfferingActionMap, $actionMenu, midmenuItemId); +} + +function serviceOfferingClearRightPanel() { + serviceOfferingClearDetailsTab(); +} + +function serviceOfferingClearDetailsTab() { + var $detailsTab = $("#right_panel_content #tab_content_details"); + $detailsTab.find("#id").text(""); + $detailsTab.find("#name").text(""); + $detailsTab.find("#name_edit").val(""); + $detailsTab.find("#displaytext").text(""); + $detailsTab.find("#displaytext_edit").val(""); + $detailsTab.find("#storagetype").text(""); + $detailsTab.find("#cpu").text(""); + $detailsTab.find("#memory").text(""); + $detailsTab.find("#offerha").text(""); + $detailsTab.find("#offerha_edit").val(""); + $detailsTab.find("#networktype").text(""); + $detailsTab.find("#tags").text(""); + $detailsTab.find("#created").text(""); + + var $actionMenu = $("#right_panel_content #tab_content_details #action_link #action_menu"); + $actionMenu.find("#action_list").empty(); + $actionMenu.find("#action_list").append($("#no_available_actions").clone().show()); +} + +var serviceOfferingActionMap = { + "Delete Service Offering": { + api: "deleteServiceOffering", + isAsyncJob: false, + inProcessText: "Deleting service offering....", + afterActionSeccessFn: function(json, id, midmenuItemId) { + $("#"+midmenuItemId).remove(); + clearRightPanel(); + serviceOfferingClearRightPanel(); + } + } +} \ No newline at end of file diff --git a/ui/new/scripts/cloud.core2.template.js b/ui/new/scripts/cloud.core2.template.js index 84eb19ba2f2..cfe8b41f721 100644 --- a/ui/new/scripts/cloud.core2.template.js +++ b/ui/new/scripts/cloud.core2.template.js @@ -353,7 +353,7 @@ var templateActionMap = { }, "Copy Template": { isAsyncJob: true, - asyncJobResponse: "createtemplateresponse", + asyncJobResponse: "copytemplateresponse", dialogBeforeActionFn : doCopyTemplate, inProcessText: "Copying Template....", afterActionSeccessFn: function(json, id, midmenuItemId){} diff --git a/ui/new/scripts/cloud.core2.volume.js b/ui/new/scripts/cloud.core2.volume.js index 32d7039680c..32126c3b237 100644 --- a/ui/new/scripts/cloud.core2.volume.js +++ b/ui/new/scripts/cloud.core2.volume.js @@ -124,7 +124,7 @@ function afterLoadVolumeJSP() { if (result.jobstatus == 1) { // Succeeded volumeToMidmenu(result.volume[0], $midmenuItem1); - bindClickToMidMenu($midmenuItem1, volumeToRigntPanel); + bindClickToMidMenu($midmenuItem1, volumeToRigntPanel, getMidmenuId); afterAddingMidMenuItem($midmenuItem1, true); } else if (result.jobstatus == 2) { handleAsyncJobFailInMidMenu(result.jobresult, $midmenuItem1);