CS-16573: cloudstack UI - update ISO - encode data passed to API call.

This commit is contained in:
Jessica Wang 2012-10-24 16:12:22 -07:00
parent ef83621c5b
commit 1400f84a33
1 changed files with 59 additions and 14 deletions

View File

@ -1058,36 +1058,81 @@
edit: {
label: 'label.edit',
action: function(args) {
var array1 = [];
array1.push("&name=" + todb(args.data.name));
array1.push("&displaytext=" + todb(args.data.displaytext));
array1.push("&ostypeid=" + args.data.ostypeid);
//***** updateIso *****
var data = {
id: args.context.isos[0].id,
zoneid: args.context.isos[0].zoneid,
name: args.data.name,
displaytext: args.data.displaytext,
ostypeid: args.data.ostypeid
};
$.ajax({
url: createURL("updateIso&id=" + args.context.isos[0].id + "&zoneid=" + args.context.isos[0].zoneid + array1.join("")),
dataType: "json",
url: createURL('updateIso'),
data: data,
async: false,
success: function(json) {
//updateIso API returns an incomplete ISO object (isextractable and isfeatured are missing)
}
});
var array2 = [];
array2.push("&ispublic=" + (args.data.ispublic=="on"));
array2.push("&isfeatured=" + (args.data.isfeatured=="on"));
array2.push("&isextractable=" + (args.data.isextractable=="on"));
//***** updateIsoPermissions *****
var data = {
id: args.context.isos[0].id,
zoneid: args.context.isos[0].zoneid,
};
//if args.data.ispublic is undefined, do not pass ispublic to API call.
if(args.data.ispublic == "on") {
$.extend(data, {
ispublic: true
});
}
else if(args.data.ispublic == "off") {
$.extend(data, {
ispublic: false
});
}
//if args.data.isfeatured is undefined, do not pass isfeatured to API call.
if(args.data.isfeatured == "on") {
$.extend(data, {
isfeatured: true
});
}
else if(args.data.isfeatured == "off") {
$.extend(data, {
isfeatured: false
}); }
//if args.data.isextractable is undefined, do not pass isextractable to API call.
if(args.data.isextractable == "on") {
$.extend(data, {
isextractable: true
});
}
else if(args.data.isextractable == "off") {
$.extend(data, {
isextractable: false
});
}
$.ajax({
url: createURL("updateIsoPermissions&id=" + args.context.isos[0].id + "&zoneid=" + args.context.isos[0].zoneid + array2.join("")),
dataType: "json",
url: createURL('updateIsoPermissions'),
data: data,
async: false,
success: function(json) {
//updateIsoPermissions API doesn't return ISO object
}
});
//***** listIsos *****
//So, we call listIsos API to get a complete ISO object
var data = {
id: args.context.isos[0].id,
zoneid: args.context.isos[0].zoneid,
isofilter: 'self'
};
$.ajax({
url: createURL("listIsos&id=" + args.context.isos[0].id + "&zoneid=" + args.context.isos[0].zoneid + "&isofilter=self"),
dataType: "json",
url: createURL('listIsos'),
data: data,
async: false,
success: function(json){
var item = json.listisosresponse.iso;