add shared network in network.js

Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/a1ae8d95
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/a1ae8d95
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/a1ae8d95

Branch: refs/heads/advancedsg-leaseweb
Commit: a1ae8d95e78289450e579f26ddadff35855c49f7
Parents: d856282
Author: Wei Zhou <[email protected]>
Authored: Tue Jun 11 16:12:05 2013 +0200
Committer: Wei Zhou <[email protected]>
Committed: Tue Jun 11 16:12:05 2013 +0200

----------------------------------------------------------------------
 ui/scripts/network.js | 60 ++++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 58 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/a1ae8d95/ui/scripts/network.js
----------------------------------------------------------------------
diff --git a/ui/scripts/network.js b/ui/scripts/network.js
index d1efe8a..bd5f3ba 100755
--- a/ui/scripts/network.js
+++ b/ui/scripts/network.js
@@ -315,7 +315,8 @@
                                                                        async: 
false,
                                                                        
success: function(json) {                                                       
                 
                                                                                
advSgDisabledZones = $.grep(json.listzonesresponse.zone, function(zone) {
-                                                                               
        return (zone.networktype == 'Advanced' && zone.securitygroupsenabled    
!= true); //Isolated networks can only be created in Advanced SG-disabled zone 
(but not in Basic zone nor Advanced SG-enabled zone)
+                                                                               
         //Guest networks can only be created in Advanced zone with/without 
Security groups (but not in Basic zone)
+                                                                               
         return (zone.networktype == 'Advanced');
                                                                                
});                                                                             
                                                                        }
                                                                });             
                                                
@@ -338,7 +339,7 @@
                         url: createURL('listZones'),
                         success: function(json) {
                           var zones = $.grep(json.listzonesresponse.zone, 
function(zone) {
-                            return (zone.networktype == 'Advanced' && 
zone.securitygroupsenabled       != true); //Isolated networks can only be 
created in Advanced SG-disabled zone (but not in Basic zone nor Advanced 
SG-enabled zone)
+                            return (zone.networktype == 'Advanced'); //Guest 
networks can only be created in Advanced zone with/without Security groups (but 
not in Basic zone)
                           });
 
                           args.response.success({
@@ -372,6 +373,42 @@
                             listUrl = baseUrl;
                           else
                             listUrl = baseUrl + '&forVpc=false';
+                                var isAdvancedSGZone = false;
+                                $.ajax({
+                                  url: createURL("listZones&id=" + 
args.zoneId),
+                                                dataType: "json",
+                                                async: false,
+                                                success: function(json){
+                                                  isAdvancedSGZone = 
json.listzonesresponse.zone[0].securitygroupsenabled;
+                                                }
+                                });
+                        if (isAdvancedSGZone) {
+                          var $form = args.$select.closest('form');
+                          $form.find('.form-item[rel=guestVlan]').show();
+                          $.ajax({
+                            url: createURL(listUrl),
+                            data: {
+                              guestiptype: 'Shared',
+                              supportedServices: 'SecurityGroup',
+                              specifyvlan: true,
+                              state: 'Enabled'
+                            },
+                            success: function(json) {
+                              networkOfferingObjs = 
json.listnetworkofferingsresponse.networkoffering;
+                              args.response.success({
+                                data: $.map(networkOfferingObjs, 
function(zone) {
+                                  return {
+                                    id: zone.id,
+                                    description: zone.name
+                                  };
+                                })
+                              });
+                            }
+                          });
+                        }
+                        else {
+                          var $form = args.$select.closest('form');
+                          $form.find('.form-item[rel=guestVlan]').hide();
                           $.ajax({
                             url: createURL(listUrl),
                             data: {
@@ -393,6 +430,7 @@
                             }
                           });                            
                         }
+                        }
                       });
                     }
                   },
@@ -443,6 +481,9 @@
 
                   guestGateway: { label: 'label.guest.gateway', docID: 
'helpGuestNetworkGateway' },
                   guestNetmask: { label: 'label.guest.netmask', docID: 
'helpGuestNetworkNetmask' },
+                  guestStartIp: { label: 'label.start.IP' },
+                  guestEndIp: { label: 'label.end.IP' },
+                  guestVlan: { label: 'label.specify.vlan' },
                   networkDomain: { label: 'label.network.domain' }
                 }
               },
@@ -464,6 +505,21 @@
                     netmask: args.data.guestNetmask
                   });                                                          
        
                 }                                                              
+                if(args.data.guestStartIp != null && 
args.data.guestStartIp.length > 0) {
+                  $.extend(dataObj, {
+                    startIp: args.data.guestStartIp
+                  });
+                }
+                if(args.data.guestEndIp != null && args.data.guestEndIp.length 
> 0) {
+                  $.extend(dataObj, {
+                    endIp: args.data.guestEndIp
+                  });
+                }
+                if(args.data.guestVlan != null && args.data.guestVlan.length > 
0) {
+                  $.extend(dataObj, {
+                    vlan: args.data.guestVlan
+                  });
+                }
                 if(args.$form.find('.form-item[rel=vpcid]').css("display") != 
"none") {                 
                   $.extend(dataObj, {
                     vpcid: args.data.vpcid

Reply via email to