mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
new UI - implement "Attach ISO" action
This commit is contained in:
parent
820c6ad86c
commit
dd880b62f8
@ -593,3 +593,23 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- VM Wizard - disk Offering template (end)-->
|
<!-- VM Wizard - disk Offering template (end)-->
|
||||||
|
|
||||||
|
<!-- Attach ISO Dialog -->
|
||||||
|
<div id="dialog_attach_iso" title="Attach ISO" style="display:none">
|
||||||
|
<p>
|
||||||
|
Please specify the ISO you wish to attach to your Virtual Instance: <b><span id="vm_name">
|
||||||
|
</span></b>.</p>
|
||||||
|
<div class="dialog_formcontent">
|
||||||
|
<form action="#" method="post" id="form_acquire">
|
||||||
|
<ol>
|
||||||
|
<li>
|
||||||
|
<label for="user_name">
|
||||||
|
Available ISO:</label>
|
||||||
|
<select class="select" name="attach_iso_select" id="attach_iso_select">
|
||||||
|
<option value="none">No Available ISO</option>
|
||||||
|
</select>
|
||||||
|
</li>
|
||||||
|
</ol>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|||||||
@ -20,33 +20,97 @@ function clickInstanceGroupHeader($arrowIcon) {
|
|||||||
label: "Stop Instance",
|
label: "Stop Instance",
|
||||||
isAsyncJob: true,
|
isAsyncJob: true,
|
||||||
asyncJobResponse: "stopvirtualmachineresponse",
|
asyncJobResponse: "stopvirtualmachineresponse",
|
||||||
afterActionSeccessFn: updateVirtualMachineStateInMidMenu
|
afterActionSeccessFn: updateVirtualMachineStateInMidMenu,
|
||||||
|
listAPI: "listVirtualMachines",
|
||||||
|
listAPIResponse: "listvirtualmachinesresponse",
|
||||||
|
listAPIResponseObj: "virtualmachine"
|
||||||
},
|
},
|
||||||
startVirtualMachine: {
|
startVirtualMachine: {
|
||||||
label: "Start Instance",
|
label: "Start Instance",
|
||||||
isAsyncJob: true,
|
isAsyncJob: true,
|
||||||
asyncJobResponse: "startvirtualmachineresponse",
|
asyncJobResponse: "startvirtualmachineresponse",
|
||||||
afterActionSeccessFn: updateVirtualMachineStateInMidMenu
|
afterActionSeccessFn: updateVirtualMachineStateInMidMenu,
|
||||||
|
listAPI: "listVirtualMachines",
|
||||||
|
listAPIResponse: "listvirtualmachinesresponse",
|
||||||
|
listAPIResponseObj: "virtualmachine"
|
||||||
},
|
},
|
||||||
rebootVirtualMachine: {
|
rebootVirtualMachine: {
|
||||||
label: "Reboot Instance",
|
label: "Reboot Instance",
|
||||||
isAsyncJob: true,
|
isAsyncJob: true,
|
||||||
asyncJobResponse: "rebootvirtualmachineresponse",
|
asyncJobResponse: "rebootvirtualmachineresponse",
|
||||||
afterActionSeccessFn: updateVirtualMachineStateInMidMenu
|
afterActionSeccessFn: updateVirtualMachineStateInMidMenu,
|
||||||
|
listAPI: "listVirtualMachines",
|
||||||
|
listAPIResponse: "listvirtualmachinesresponse",
|
||||||
|
listAPIResponseObj: "virtualmachine"
|
||||||
},
|
},
|
||||||
destroyVirtualMachine: {
|
destroyVirtualMachine: {
|
||||||
label: "Destroy Instance",
|
label: "Destroy Instance",
|
||||||
isAsyncJob: true,
|
isAsyncJob: true,
|
||||||
asyncJobResponse: "destroyvirtualmachineresponse",
|
asyncJobResponse: "destroyvirtualmachineresponse",
|
||||||
afterActionSeccessFn: updateVirtualMachineStateInMidMenu
|
afterActionSeccessFn: updateVirtualMachineStateInMidMenu,
|
||||||
|
listAPI: "listVirtualMachines",
|
||||||
|
listAPIResponse: "listvirtualmachinesresponse",
|
||||||
|
listAPIResponseObj: "virtualmachine"
|
||||||
},
|
},
|
||||||
recoverVirtualMachine: {
|
recoverVirtualMachine: {
|
||||||
label: "Restore Instance",
|
label: "Restore Instance",
|
||||||
isAsyncJob: false,
|
isAsyncJob: false,
|
||||||
afterActionSeccessFn: updateVirtualMachineStateInMidMenu
|
afterActionSeccessFn: updateVirtualMachineStateInMidMenu,
|
||||||
}
|
listAPI: "listVirtualMachines",
|
||||||
|
listAPIResponse: "listvirtualmachinesresponse",
|
||||||
|
listAPIResponseObj: "virtualmachine"
|
||||||
|
},
|
||||||
|
attachIso: {
|
||||||
|
label: "Attach ISO",
|
||||||
|
isAsyncJob: true,
|
||||||
|
asyncJobResponse: "attachisoresponse",
|
||||||
|
afterActionSeccessFn: function(){
|
||||||
|
//debugger;
|
||||||
|
},
|
||||||
|
dialogBeforeActionFn : doAttachISO,
|
||||||
|
listAPI: "listVirtualMachines",
|
||||||
|
listAPIResponse: "listvirtualmachinesresponse",
|
||||||
|
listAPIResponseObj: "virtualmachine"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function doAttachISO($t, selectedItemIds) {
|
||||||
|
$.ajax({
|
||||||
|
data: createURL("command=listIsos&isReady=true&response=json"),
|
||||||
|
dataType: "json",
|
||||||
|
async: false,
|
||||||
|
success: function(json) {
|
||||||
|
var isos = json.listisosresponse.iso;
|
||||||
|
var isoSelect = $("#dialog_attach_iso #attach_iso_select");
|
||||||
|
if (isos != null && isos.length > 0) {
|
||||||
|
isoSelect.empty();
|
||||||
|
for (var i = 0; i < isos.length; i++) {
|
||||||
|
isoSelect.append("<option value='"+isos[i].id+"'>"+sanitizeXSS(isos[i].displaytext)+"</option>");;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
//$("#dialog_attach_iso").find("#vm_name").text(vmName);
|
||||||
|
$("#dialog_attach_iso")
|
||||||
|
.dialog('option', 'buttons', {
|
||||||
|
"Confirm": function() {
|
||||||
|
$(this).dialog("close");
|
||||||
|
var isoId = $("#dialog_attach_iso #attach_iso_select").val();
|
||||||
|
if (isoId == "none") {
|
||||||
|
$("#dialog_alert").html("<p>There is no ISO file to attach to the virtual machine.</p>")
|
||||||
|
$("#dialog_alert").dialog("open");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
for(var id in selectedItemIds) {
|
||||||
|
var apiCommand = "command=attachIso&virtualmachineid="+id+"&id="+isoId+"&response=json";
|
||||||
|
doAction(id, $t, apiCommand);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Cancel": function() {
|
||||||
|
$(this).dialog("close");
|
||||||
|
}
|
||||||
|
}).dialog("open");
|
||||||
|
}
|
||||||
|
|
||||||
function updateVirtualMachineStateInRightPanel(state) {
|
function updateVirtualMachineStateInRightPanel(state) {
|
||||||
if(state == "Running")
|
if(state == "Running")
|
||||||
@ -206,14 +270,24 @@ function clickInstanceGroupHeader($arrowIcon) {
|
|||||||
$link.data("label", apiInfo.label);
|
$link.data("label", apiInfo.label);
|
||||||
$link.data("isAsyncJob", apiInfo.isAsyncJob);
|
$link.data("isAsyncJob", apiInfo.isAsyncJob);
|
||||||
$link.data("asyncJobResponse", apiInfo.asyncJobResponse);
|
$link.data("asyncJobResponse", apiInfo.asyncJobResponse);
|
||||||
$link.data("afterActionSeccessFn", apiInfo.afterActionSeccessFn);
|
$link.data("afterActionSeccessFn", apiInfo.afterActionSeccessFn);
|
||||||
|
$link.data("dialogBeforeActionFn", apiInfo.dialogBeforeActionFn);
|
||||||
|
$link.data("listAPI", apiInfo.listAPI);
|
||||||
|
$link.data("listAPIResponse", apiInfo.listAPIResponse);
|
||||||
|
$link.data("listAPIResponseObj", apiInfo.listAPIResponseObj);
|
||||||
$link.bind("click", function(event) {
|
$link.bind("click", function(event) {
|
||||||
$actionMenu.hide();
|
$actionMenu.hide();
|
||||||
var $t = $(this);
|
var $t = $(this);
|
||||||
//jobIdMap = {}; //to remove after testing, jessica
|
var dialogBeforeActionFn = $t.data("dialogBeforeActionFn");
|
||||||
for(var id in selectedItemIds) {
|
if(dialogBeforeActionFn == null) {
|
||||||
doAction(id, $t);
|
for(var id in selectedItemIds) {
|
||||||
}
|
var apiCommand = "command="+$t.data("api")+"&id="+id+"&response=json";
|
||||||
|
doAction(id, $t, apiCommand);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
dialogBeforeActionFn($t, selectedItemIds);
|
||||||
|
}
|
||||||
selectedItemIds = {}; //clear selected items for action
|
selectedItemIds = {}; //clear selected items for action
|
||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
@ -228,7 +302,14 @@ function clickInstanceGroupHeader($arrowIcon) {
|
|||||||
//***** VM Detail (end) ********************************************************************************
|
//***** VM Detail (end) ********************************************************************************
|
||||||
$("#right_panel").load("jsp/tab_instance.jsp", function() {
|
$("#right_panel").load("jsp/tab_instance.jsp", function() {
|
||||||
$rightPanelHeader = $("#right_panel_header");
|
$rightPanelHeader = $("#right_panel_header");
|
||||||
$rightPanelContent = $("#right_panel_content");
|
$rightPanelContent = $("#right_panel_content");
|
||||||
|
|
||||||
|
activateDialog($("#dialog_attach_iso").dialog({
|
||||||
|
width: 600,
|
||||||
|
autoOpen: false,
|
||||||
|
modal: true,
|
||||||
|
zIndex: 2000
|
||||||
|
}));
|
||||||
|
|
||||||
//***** VM Wizard (begin) ******************************************************************************
|
//***** VM Wizard (begin) ******************************************************************************
|
||||||
$vmPopup = $("#vm_popup");
|
$vmPopup = $("#vm_popup");
|
||||||
@ -273,7 +354,7 @@ function clickInstanceGroupHeader($arrowIcon) {
|
|||||||
$t.find("input:radio[name=service_offering_radio]").val(offerings[i].id);
|
$t.find("input:radio[name=service_offering_radio]").val(offerings[i].id);
|
||||||
$t.find("#name").text(sanitizeXSS(unescape(offerings[i].name)));
|
$t.find("#name").text(sanitizeXSS(unescape(offerings[i].name)));
|
||||||
$t.find("#description").text(sanitizeXSS(unescape(offerings[i].displaytext)));
|
$t.find("#description").text(sanitizeXSS(unescape(offerings[i].displaytext)));
|
||||||
//debugger;
|
|
||||||
//if(i == 0)
|
//if(i == 0)
|
||||||
// $t.find("input:radio[name=service_offering_radio]").attr("checked", true);
|
// $t.find("input:radio[name=service_offering_radio]").attr("checked", true);
|
||||||
//var listItem = $("<li><input class='radio' type='radio' name='service' id='service' value='"+offerings[i].id+"'" + checked + "/><label style='width:500px;font-size:11px;' for='service'>"+sanitizeXSS(unescape(offerings[i].displaytext))+"</label></li>");
|
//var listItem = $("<li><input class='radio' type='radio' name='service' id='service' value='"+offerings[i].id+"'" + checked + "/><label style='width:500px;font-size:11px;' for='service'>"+sanitizeXSS(unescape(offerings[i].displaytext))+"</label></li>");
|
||||||
@ -292,8 +373,7 @@ function clickInstanceGroupHeader($arrowIcon) {
|
|||||||
dataType: "json",
|
dataType: "json",
|
||||||
async: false,
|
async: false,
|
||||||
success: function(json) {
|
success: function(json) {
|
||||||
var offerings = json.listdiskofferingsresponse.diskoffering;
|
var offerings = json.listdiskofferingsresponse.diskoffering;
|
||||||
//???
|
|
||||||
var $dataDiskOfferingContainer = $("#data_disk_offering_container").empty();
|
var $dataDiskOfferingContainer = $("#data_disk_offering_container").empty();
|
||||||
var $rootDiskOfferingContainer = $("#root_disk_offering_container").empty();
|
var $rootDiskOfferingContainer = $("#root_disk_offering_container").empty();
|
||||||
|
|
||||||
@ -319,8 +399,7 @@ function clickInstanceGroupHeader($arrowIcon) {
|
|||||||
var $t = $diskOfferingTemplate.clone();
|
var $t = $diskOfferingTemplate.clone();
|
||||||
$t.find("input:radio[name=disk_offering_radio]").val(offerings[i].id);
|
$t.find("input:radio[name=disk_offering_radio]").val(offerings[i].id);
|
||||||
$t.find("#name").text(sanitizeXSS(unescape(offerings[i].name)));
|
$t.find("#name").text(sanitizeXSS(unescape(offerings[i].name)));
|
||||||
$t.find("#description").text(sanitizeXSS(unescape(offerings[i].displaytext)));
|
$t.find("#description").text(sanitizeXSS(unescape(offerings[i].displaytext)));
|
||||||
//debugger;
|
|
||||||
//if(i == 0)
|
//if(i == 0)
|
||||||
// $t.find("input:radio[name=service_offering_radio]").attr("checked", true);
|
// $t.find("input:radio[name=service_offering_radio]").attr("checked", true);
|
||||||
//var listItem = $("<li><input class='radio' type='radio' name='service' id='service' value='"+offerings[i].id+"'" + checked + "/><label style='width:500px;font-size:11px;' for='service'>"+sanitizeXSS(unescape(offerings[i].displaytext))+"</label></li>");
|
//var listItem = $("<li><input class='radio' type='radio' name='service' id='service' value='"+offerings[i].id+"'" + checked + "/><label style='width:500px;font-size:11px;' for='service'>"+sanitizeXSS(unescape(offerings[i].displaytext))+"</label></li>");
|
||||||
@ -330,8 +409,7 @@ function clickInstanceGroupHeader($arrowIcon) {
|
|||||||
var $t = $diskOfferingTemplate.clone();
|
var $t = $diskOfferingTemplate.clone();
|
||||||
$t.find("input:radio[name=disk_offering_radio]").val(offerings[i].id);
|
$t.find("input:radio[name=disk_offering_radio]").val(offerings[i].id);
|
||||||
$t.find("#name").text(sanitizeXSS(unescape(offerings[i].name)));
|
$t.find("#name").text(sanitizeXSS(unescape(offerings[i].name)));
|
||||||
$t.find("#description").text(sanitizeXSS(unescape(offerings[i].displaytext)));
|
$t.find("#description").text(sanitizeXSS(unescape(offerings[i].displaytext)));
|
||||||
//debugger;
|
|
||||||
//if(i == 0)
|
//if(i == 0)
|
||||||
// $t.find("input:radio[name=service_offering_radio]").attr("checked", true);
|
// $t.find("input:radio[name=service_offering_radio]").attr("checked", true);
|
||||||
//var listItem = $("<li><input class='radio' type='radio' name='service' id='service' value='"+offerings[i].id+"'" + checked + "/><label style='width:500px;font-size:11px;' for='service'>"+sanitizeXSS(unescape(offerings[i].displaytext))+"</label></li>");
|
//var listItem = $("<li><input class='radio' type='radio' name='service' id='service' value='"+offerings[i].id+"'" + checked + "/><label style='width:500px;font-size:11px;' for='service'>"+sanitizeXSS(unescape(offerings[i].displaytext))+"</label></li>");
|
||||||
@ -638,17 +716,14 @@ function clickInstanceGroupHeader($arrowIcon) {
|
|||||||
$vmPopup.find("#next_step").bind("click", function(event) {
|
$vmPopup.find("#next_step").bind("click", function(event) {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
event.stopPropagation();
|
event.stopPropagation();
|
||||||
var $thisPopup = $vmPopup;
|
var $thisPopup = $vmPopup;
|
||||||
//debugger; //???
|
|
||||||
if (currentStepInVmPopup == 1) { //template/ISO
|
if (currentStepInVmPopup == 1) { //template/ISO
|
||||||
// prevent a person from moving on if no templates are selected
|
// prevent a person from moving on if no templates are selected
|
||||||
// if($thisPopup.find("#step1 #template_container .rev_wiztemplistbox_selected").length == 0) {
|
// if($thisPopup.find("#step1 #template_container .rev_wiztemplistbox_selected").length == 0) {
|
||||||
// $thisPopup.find("#step1 #wiz_message").show();
|
// $thisPopup.find("#step1 #wiz_message").show();
|
||||||
// return false;
|
// return false;
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
|
||||||
//debugger;
|
|
||||||
if ($thisPopup.find("#wiz_blank").hasClass("rev_wizmid_selectedtempbut")) { //ISO
|
if ($thisPopup.find("#wiz_blank").hasClass("rev_wizmid_selectedtempbut")) { //ISO
|
||||||
$("#root_disk_offering_container").show();
|
$("#root_disk_offering_container").show();
|
||||||
$("#data_disk_offering_container").hide();
|
$("#data_disk_offering_container").hide();
|
||||||
@ -745,8 +820,7 @@ function clickInstanceGroupHeader($arrowIcon) {
|
|||||||
moreCriteria.push("&templateId="+$thisPopup.find("#step1 .rev_wiztemplistbox_selected").attr("id"));
|
moreCriteria.push("&templateId="+$thisPopup.find("#step1 .rev_wiztemplistbox_selected").attr("id"));
|
||||||
|
|
||||||
moreCriteria.push("&serviceOfferingId="+$thisPopup.find("input:radio[name=service_offering_radio]:checked").val());
|
moreCriteria.push("&serviceOfferingId="+$thisPopup.find("input:radio[name=service_offering_radio]:checked").val());
|
||||||
|
|
||||||
//debugger;
|
|
||||||
if ($thisPopup.find("#wiz_blank").hasClass("rev_wizmid_selectedtempbut")) { //ISO
|
if ($thisPopup.find("#wiz_blank").hasClass("rev_wizmid_selectedtempbut")) { //ISO
|
||||||
var diskOfferingId = $thisPopup.find("#root_disk_offering_container input[name=rootdisk]:checked").val();
|
var diskOfferingId = $thisPopup.find("#root_disk_offering_container input[name=rootdisk]:checked").val();
|
||||||
moreCriteria.push("&diskOfferingId="+diskOfferingId);
|
moreCriteria.push("&diskOfferingId="+diskOfferingId);
|
||||||
|
|||||||
@ -21,12 +21,15 @@
|
|||||||
// Version: @VERSION@
|
// Version: @VERSION@
|
||||||
|
|
||||||
//var jobIdMap;
|
//var jobIdMap;
|
||||||
function doAction(id, $t) {
|
function doAction(id, $t, apiCommand) {
|
||||||
var api = $t.data("api");
|
var api = $t.data("api");
|
||||||
var label = $t.data("label");
|
var label = $t.data("label");
|
||||||
var isAsyncJob = $t.data("isAsyncJob");
|
var isAsyncJob = $t.data("isAsyncJob");
|
||||||
var asyncJobResponse = $t.data("asyncJobResponse");
|
var asyncJobResponse = $t.data("asyncJobResponse");
|
||||||
var afterActionSeccessFn = $t.data("afterActionSeccessFn");
|
var afterActionSeccessFn = $t.data("afterActionSeccessFn");
|
||||||
|
var listAPI = $t.data("listAPI");
|
||||||
|
var listAPIResponse = $t.data("listAPIResponse");
|
||||||
|
var listAPIResponseObj = $t.data("listAPIResponseObj");
|
||||||
|
|
||||||
var $midmenuItem = $("#midmenuItemVm_"+id);
|
var $midmenuItem = $("#midmenuItemVm_"+id);
|
||||||
$midmenuItem.find("#content").removeClass("selected").addClass("inaction");
|
$midmenuItem.find("#content").removeClass("selected").addClass("inaction");
|
||||||
@ -36,7 +39,7 @@ function doAction(id, $t) {
|
|||||||
//Async job (begin) *****
|
//Async job (begin) *****
|
||||||
if(isAsyncJob == true) {
|
if(isAsyncJob == true) {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
data: createURL("command="+api+"&id="+id+"&response=json"),
|
data: createURL(apiCommand),
|
||||||
dataType: "json",
|
dataType: "json",
|
||||||
success: function(json) {
|
success: function(json) {
|
||||||
var jobId = json[asyncJobResponse].jobid;
|
var jobId = json[asyncJobResponse].jobid;
|
||||||
@ -55,12 +58,25 @@ function doAction(id, $t) {
|
|||||||
} else {
|
} else {
|
||||||
$("body").stopTime(timerKey);
|
$("body").stopTime(timerKey);
|
||||||
$midmenuItem.find("#content").removeClass("inaction");
|
$midmenuItem.find("#content").removeClass("inaction");
|
||||||
$midmenuItem.find("#spinning_wheel").hide();
|
$midmenuItem.find("#spinning_wheel").hide();
|
||||||
if (result.jobstatus == 1) { // Succeeded
|
if (result.jobstatus == 1) { // Succeeded
|
||||||
$midmenuItem.find("#info_icon").removeClass("error").show();
|
$midmenuItem.find("#info_icon").removeClass("error").show();
|
||||||
$midmenuItem.data("afterActionInfo", (label + " action succeeded."));
|
$midmenuItem.data("afterActionInfo", (label + " action succeeded."));
|
||||||
if("virtualmachine" in result)
|
|
||||||
afterActionSeccessFn(result.virtualmachine[0], $midmenuItem);
|
//DestroyVirtualMachine API doesn't return an embedded object on success (Bug 6041)
|
||||||
|
//Before Bug 6041 get fixed, use the temporary solution below.
|
||||||
|
$.ajax({
|
||||||
|
cache: false,
|
||||||
|
data: createURL("command="+listAPI+"&id="+id+"&response=json"),
|
||||||
|
dataType: "json",
|
||||||
|
async: false,
|
||||||
|
success: function(json) {
|
||||||
|
afterActionSeccessFn(json[listAPIResponse][listAPIResponseObj][0], $midmenuItem);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
//After Bug 6037 is fixed, remove temporary solution above and uncomment the line below
|
||||||
|
//afterActionSeccessFn(json[listAPIResponse][listAPIResponseObj][0], $midmenuItem);
|
||||||
|
|
||||||
} else if (result.jobstatus == 2) { // Failed
|
} else if (result.jobstatus == 2) { // Failed
|
||||||
$midmenuItem.find("#info_icon").addClass("error").show();
|
$midmenuItem.find("#info_icon").addClass("error").show();
|
||||||
$midmenuItem.data("afterActionInfo", (label + " action failed. Reason: " + sanitizeXSS(result.jobresult)));
|
$midmenuItem.data("afterActionInfo", (label + " action failed. Reason: " + sanitizeXSS(result.jobresult)));
|
||||||
@ -102,24 +118,18 @@ function doAction(id, $t) {
|
|||||||
$midmenuItem.find("#spinning_wheel").hide();
|
$midmenuItem.find("#spinning_wheel").hide();
|
||||||
|
|
||||||
//RecoverVirtualMachine API doesn't return an embedded object on success (Bug 6037)
|
//RecoverVirtualMachine API doesn't return an embedded object on success (Bug 6037)
|
||||||
//Before Bug 6037 is fixed, use the temporary solution below.
|
//Before Bug 6037 get fixed, use the temporary solution below.
|
||||||
$.ajax({
|
$.ajax({
|
||||||
cache: false,
|
cache: false,
|
||||||
data: createURL("command=listVirtualMachines&id="+id+"&response=json"),
|
data: createURL("command="+listAPI+"&id="+id+"&response=json"),
|
||||||
dataType: "json",
|
dataType: "json",
|
||||||
async: false,
|
async: false,
|
||||||
success: function(json) {
|
success: function(json) {
|
||||||
afterActionSeccessFn(json.listvirtualmachinesresponse.virtualmachine[0], $midmenuItem);
|
afterActionSeccessFn(json[listAPIResponse][listAPIResponseObj][0], $midmenuItem);
|
||||||
$midmenuItem.find("#info_icon").removeClass("error").show();
|
|
||||||
$midmenuItem.data("afterActionInfo", (label + " action succeeded."));
|
|
||||||
},
|
|
||||||
error: function(XMLHttpResponse) {
|
|
||||||
$midmenuItem.find("#info_icon").addClass("error").show();
|
|
||||||
$midmenuItem.data("afterActionInfo", (label + " action failed."));
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
//After Bug 6037 is fixed, remove temporary solution above and uncomment the line below
|
//After Bug 6037 is fixed, remove temporary solution above and uncomment the line below
|
||||||
//afterActionSeccessFn(json[asyncJobResponse]virtualmachine[0], $item);
|
//afterActionSeccessFn(json[listAPIResponse][listAPIResponseObj][0], $midmenuItem);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user