From 598628f517b839c8be4b326530308804d61e1c62 Mon Sep 17 00:00:00 2001 From: Jessica Wang Date: Thu, 9 Jan 2014 14:35:12 -0800 Subject: [PATCH] CLOUDSTACK-5840: UI > Snapshots > create volume from snapshot dialog > add zone dropdown if region-wide secondary storage exists. --- ui/scripts/storage.js | 47 +++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 45 insertions(+), 2 deletions(-) diff --git a/ui/scripts/storage.js b/ui/scripts/storage.js index 3e9c91d66f4..603a82f9d87 100644 --- a/ui/scripts/storage.js +++ b/ui/scripts/storage.js @@ -1751,13 +1751,50 @@ createForm: { title: 'label.action.create.volume', desc: '', + preFilter: function(args) { + debugger; + if (g_regionsecondaryenabled == true) { + args.$form.find('.form-item[rel=zoneid]').css('display', 'inline-block'); + } else { + args.$form.find('.form-item[rel=zoneid]').hide(); + } + }, fields: { name: { label: 'label.name', validation: { required: true } - } + }, + zoneid: { + label: 'label.availability.zone', + isHidden: true, + select: function(args) { + $.ajax({ + url: createURL("listZones&available=true"), + dataType: "json", + async: true, + success: function(json) { + var zoneObjs = json.listzonesresponse.zone; + var items = [{ + id: '', + description: '' + }]; + if (zoneObjs != null) { + for (i = 0; i < zoneObjs.length; i++) { + items.push({ + id: zoneObjs[i].id, + description: zoneObjs[i].name + }); + } + } + args.response.success({ + data: items + }); + } + }); + } + } } }, action: function(args) { @@ -1765,7 +1802,13 @@ snapshotid: args.context.snapshots[0].id, name: args.data.name }; - + + if (args.$form.find('.form-item[rel=zoneid]').css("display") != "none" && args.data.zoneid != '') { + $.extend(data, { + zoneId: args.data.zoneid + }); + } + $.ajax({ url: createURL('createVolume'), data: data,