Updated Branches:
  refs/heads/master-6-17-stable c0af861a7 -> 3e3e5830b


CLOUDSTACK-869: Add VPC dialog - add Public LB Provider dropdown, remove VPC 
Offering dropdown. When Public LB Provider is selected as Netscaler, pass 
"Default VPC offering with Netscaler" to createVPC API. When Public LB Provider 
is selected as VpcVirtualRouter, pass "Default VPC Offering" to createVPC API.


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

Branch: refs/heads/master-6-17-stable
Commit: 3e3e5830b45eeba16b3dacfb5475d53d8d2dee27
Parents: c0af861
Author: Jessica Wang <[email protected]>
Authored: Mon Jun 17 10:55:50 2013 -0700
Committer: Jessica Wang <[email protected]>
Committed: Mon Jun 17 11:30:50 2013 -0700

----------------------------------------------------------------------
 ui/scripts/network.js | 125 +++++++++++++++++++++------------------------
 1 file changed, 57 insertions(+), 68 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/3e3e5830/ui/scripts/network.js
----------------------------------------------------------------------
diff --git a/ui/scripts/network.js b/ui/scripts/network.js
index fb63e4b..ddde9c9 100755
--- a/ui/scripts/network.js
+++ b/ui/scripts/network.js
@@ -4532,78 +4532,67 @@
                     docID: 'helpVPCDomain',
                     label: 'label.DNS.domain.for.guest.networks'
                   },
-
-                  loadbalancer:{        //Support for Netscaler as an external 
device for load balancing
-                    label:'Load Balancer',
+                  publicLoadBalancerProvider:{        
+                    label:'Public Load Balancer Provider',
                     select:function(args){
-                         $.ajax({
-                          url:createURL('listVPCOfferings&listall=true'),
-                          dataType:'json',
-                          success:function(json){
-                        var items=[];
-                        var vpcObj = json.listvpcofferingsresponse.vpcoffering;
-                        $(vpcObj).each(function(){
-                          items.push({id:this.id , description:this.name});
-                          });
-                        args.response.success({data:items});
-
-                         }
-
-                     });
-
-                   }
-
-                }
-
+                      var items = [];
+                      items.push({id: 'VpcVirtualRouter', description: 
'VpcVirtualRouter'});
+                      items.push({id: 'Netscaler', description: 'Netscaler'});
+                      args.response.success({data: items});
+                    }
+                  }
                 }
               },              
-              action: function(args) {                                         
                                
-                                               /*              var 
defaultvpcofferingid;
-                                                               $.ajax({
-                                                                 url: 
createURL("listVPCOfferings"),
-                                                                       
dataType: "json",
-                                                                       data: {
-                                                                         
isdefault: true
-                                                                       },
-                                                                 async: false,
-                                                                       
success: function(json) {
-                                                                         
defaultvpcofferingid = json.listvpcofferingsresponse.vpcoffering[0].id;
-                                                                       }
-                                                               });*/
-                                                               
-                                                               var dataObj = {
-                                                                       name: 
args.data.name,
-                                                                       
displaytext: args.data.displaytext,
-                                                                       zoneid: 
args.data.zoneid,
-                                                                       cidr: 
args.data.cidr,
-                                                                       
vpcofferingid: args.data.loadbalancer    // Support for external load balancer
-                                                               };
-                                                               
-                                                               
if(args.data.networkdomain != null && args.data.networkdomain.length > 0)
-                                                                 
$.extend(dataObj, { networkdomain: args.data.networkdomain });                  
                                              
-                                                               
-                                                               $.ajax({
-                  url: createURL("createVPC"),
-                  dataType: "json",
-                                                                       data: 
dataObj,
-                  async: true,
-                  success: function(json) {
-                    var jid = json.createvpcresponse.jobid;
-                    args.response.success(
-                      {_custom:
-                        {jobId: jid,
-                          getUpdatedItem: function(json) {                     
                                                                                
  
-                            return 
json.queryasyncjobresultresponse.jobresult.vpc;
-                          }
+              action: function(args) { 
+                var vpcOfferingName;
+                if (args.data.publicLoadBalancerProvider == 'VpcVirtualRouter')
+                  vpcOfferingName = 'Default VPC offering';
+                else if (args.data.publicLoadBalancerProvider == 'Netscaler')
+                  vpcOfferingName = 'Default VPC  offering with Netscaler';
+                                
+                $.ajax({
+                  url:createURL('listVPCOfferings'),
+                  data: {
+                    name: vpcOfferingName
+                  },                  
+                  success:function(json){   
+                    var vpcofferingid = 
json.listvpcofferingsresponse.vpcoffering[0].id;     
+                                       
+                    var dataObj = {
+                      name: args.data.name,
+                      displaytext: args.data.displaytext,
+                      zoneid: args.data.zoneid,
+                      cidr: args.data.cidr,
+                      vpcofferingid: vpcofferingid    
+                    };
+                    
+                    if(args.data.networkdomain != null && 
args.data.networkdomain.length > 0)
+                      $.extend(dataObj, { networkdomain: 
args.data.networkdomain });                
+                    
+                    $.ajax({
+                      url: createURL("createVPC"),
+                      dataType: "json",
+                      data: dataObj,
+                      async: true,
+                      success: function(json) {
+                        var jid = json.createvpcresponse.jobid;
+                        args.response.success(
+                          {_custom:
+                            {jobId: jid,
+                              getUpdatedItem: function(json) {                 
           
+                                return 
json.queryasyncjobresultresponse.jobresult.vpc;
+                              }
+                            }
+                          });
+                      },
+                      error: function(data) {
+                          args.response.error(parseXMLHttpResponse(data));
                         }
-                      });
-                  },
-                  error: function(data) {
-                      args.response.error(parseXMLHttpResponse(data));
-                    }
-                });                                                            
-              },
-             
+                    });     
+                  }
+                });
+                
+              },             
                                                        notification: {
                 poll: pollAsyncJobResult
               }                                                        

Reply via email to