bug 8216: Snapshot page - create volume dialog - add Disk Offering dropdown that only lists customized(private) disk offerings.

This commit is contained in:
Jessica Wang 2011-02-22 15:50:28 -08:00
parent 2f3a1ccd60
commit 4b4ac27c27
2 changed files with 36 additions and 7 deletions

View File

@ -147,7 +147,15 @@ dictionary = {
<label><fmt:message key="label.name"/>:</label>
<input class="text" type="text" id="name" />
<div id="name_errormsg" class="dialog_formcontent_errormsg" style="display: none;"></div>
</li>
</li>
<li>
<label><fmt:message key="label.disk.offering"/>:</label>
<select class="select" id="diskoffering_dropdown">
<option value="default"><fmt:message key="label.please.wait"/>...</option>
</select>
<div id="diskoffering_dropdown_errormsg" class="dialog_formcontent_errormsg" style="display: none;">
</div>
</li>
</ol>
</form>
</div>

View File

@ -45,6 +45,25 @@ function snapshotGetSearchParams() {
function afterLoadSnapshotJSP() {
initDialog("dialog_add_volume_from_snapshot");
$.ajax({
data: createURL("command=listDiskOfferings"),
dataType: "json",
success: function(json) {
var offerings = json.listdiskofferingsresponse.diskoffering;
var diskOfferingDropdown = $("#dialog_add_volume_from_snapshot").find("#diskoffering_dropdown").empty();
if (offerings != null && offerings.length > 0) {
for (var i = 0; i < offerings.length; i++) {
if(offerings[i].iscustomized == true) {
var $option = $("<option value='" + offerings[i].id + "'>" + fromdb(offerings[i].displaytext) + "</option>");
$option.data("jsonObj", offerings[i]);
diskOfferingDropdown.append($option);
}
}
}
}
});
initCreateTemplateFromSnapshotDialog();
}
@ -220,18 +239,20 @@ function doCreateVolumeFromSnapshotInSnapshotPage($actionLink, $detailsTab, $mid
$("#dialog_add_volume_from_snapshot")
.dialog("option", "buttons", {
"Add": function() {
var thisDialog = $(this);
var $thisDialog = $(this);
var isValid = true;
isValid &= validateString("Name", thisDialog.find("#name"), thisDialog.find("#name_errormsg"));
isValid &= validateString("Name", $thisDialog.find("#name"), $thisDialog.find("#name_errormsg"));
isValid &= validateDropDownBox("Disk Offering", $thisDialog.find("#diskoffering_dropdown"), $thisDialog.find("#diskoffering_dropdown_errormsg"));
if (!isValid) return;
thisDialog.dialog("close");
var name = thisDialog.find("#name").val();
$thisDialog.dialog("close");
var name = $thisDialog.find("#name").val();
var diskofferingId = $thisDialog.find("#diskoffering_dropdown").val();
var id = jsonObj.id;
var apiCommand = "command=createVolume&snapshotid="+id+"&name="+name;
var apiCommand = "command=createVolume&snapshotid="+id+"&name="+name+"&diskOfferingId="+diskofferingId;
doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
},
"Cancel": function() {