CLOUDSTACK-4693: UI > Network > Add Guest Network dialog > physical network dropdown - populate only physical networks that have Guest traffic type.
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/4280f6e2 Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/4280f6e2 Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/4280f6e2 Branch: refs/heads/4.2 Commit: 4280f6e29d832c51a67f8f5427f92fcb6bd656c5 Parents: 3eb899a Author: Jessica Wang <jessicaw...@apache.org> Authored: Mon Sep 23 16:10:36 2013 -0700 Committer: Jessica Wang <jessicaw...@apache.org> Committed: Mon Sep 23 16:10:36 2013 -0700 ---------------------------------------------------------------------- ui/scripts/sharedFunctions.js | 33 +++++++++++++++++++++++++++++---- 1 file changed, 29 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/4280f6e2/ui/scripts/sharedFunctions.js ---------------------------------------------------------------------- diff --git a/ui/scripts/sharedFunctions.js b/ui/scripts/sharedFunctions.js index 5369cee..fe3f673 100644 --- a/ui/scripts/sharedFunctions.js +++ b/ui/scripts/sharedFunctions.js @@ -235,9 +235,9 @@ var addGuestNetworkDialog = { label: 'label.physical.network', dependsOn: 'zoneId', select: function(args) { - if ('physicalNetworks' in args.context) { + if ('physicalNetworks' in args.context) { //Infrastructure menu > zone detail > guest traffic type > network tab (only shown in advanced zone) > add guest network dialog addGuestNetworkDialog.physicalNetworkObjs = args.context.physicalNetworks; - } else { + } else { //Network menu > guest network section > add guest network dialog var selectedZoneId = args.$form.find('.form-item[rel=zoneId]').find('select').val(); $.ajax({ url: createURL('listPhysicalNetworks'), @@ -245,8 +245,33 @@ var addGuestNetworkDialog = { zoneid: selectedZoneId }, async: false, - success: function(json) { - addGuestNetworkDialog.physicalNetworkObjs = json.listphysicalnetworksresponse.physicalnetwork; + success: function(json) { + var items = []; + var physicalnetworks = json.listphysicalnetworksresponse.physicalnetwork; + if (physicalnetworks != null) { + for (var i = 0; i < physicalnetworks.length; i++) { + $.ajax({ + url: createURL('listTrafficTypes'), + data: { + physicalnetworkid: physicalnetworks[i].id + }, + async: false, + success: function(json) { + var traffictypes = json.listtraffictypesresponse.traffictype; + if (traffictypes != null) { + for (var k = 0; k < traffictypes.length; k++) { + if (traffictypes[k].traffictype == 'Guest') { + items.push(physicalnetworks[i]); + break; + } + } + } + } + }); + } + } + + addGuestNetworkDialog.physicalNetworkObjs = items; } }); }