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;                              
        
                                 }
                             });
                         }

Reply via email to