Updated Branches:
  refs/heads/4.2 5721cfdc6 -> 648f10401

CLOUDSTACK-5048: UI > Create Load Balancing rule > hide Autoscale button if LB 
provider is not Netscaler since Autoscale is only supported on Netscaler, but 
not on other provider like VirtualRouter.


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

Branch: refs/heads/4.2
Commit: 648f10401fb7e3590881321c8fce1a3223e0bfd3
Parents: 5721cfd
Author: Jessica Wang <[email protected]>
Authored: Tue Nov 5 15:11:05 2013 -0800
Committer: Jessica Wang <[email protected]>
Committed: Tue Nov 5 15:11:05 2013 -0800

----------------------------------------------------------------------
 ui/scripts/network.js | 40 +++++++++++++++++++++++++++++++++++-----
 1 file changed, 35 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/648f1040/ui/scripts/network.js
----------------------------------------------------------------------
diff --git a/ui/scripts/network.js b/ui/scripts/network.js
index 9a343e1..4595834 100755
--- a/ui/scripts/network.js
+++ b/ui/scripts/network.js
@@ -3375,11 +3375,41 @@
                                                     buttonLabel: 
'label.configure',
                                                     action: 
cloudStack.uiCustom.autoscaler(cloudStack.autoscaler)
                                                 },
-                                                isHidden: function(args) {
-                                                    // return 2 == hide header 
and form, as well as returned item column
-                                                    // return 2;
-
-                                                    return false;
+                                                isHidden: function(args) {     
                                           
+                                                    var lbProviderIsNetscaler 
= false;
+                                                    $.ajax({
+                                                       url: 
createURL('listNetworkOfferings'),
+                                                       data: {
+                                                               id: 
args.context.networks[0].networkofferingid
+                                                       },
+                                                       async: false,
+                                                       success: function(json) 
{                                                               
+                                                               var 
networkOffering = json.listnetworkofferingsresponse.networkoffering[0];         
                                                    
+                                                               var services = 
networkOffering.service;
+                                                               if (services != 
null) {
+                                                                       for 
(var i = 0; i < services.length; i++) {
+                                                                               
if (services[i].name == 'Lb') {
+                                                                               
        var providers = services[i].provider;
+                                                                               
        if (providers != null) {
+                                                                               
                for (var k = 0; k < providers.length; k++) {
+                                                                               
                        if (providers[k].name == 'Netscaler') {
+                                                                               
                                lbProviderIsNetscaler = true;
+                                                                               
                                break;
+                                                                               
                        }
+                                                                               
                }  
+                                                                               
        }
+                                                                               
        break;
+                                                                               
}
+                                                                       }
+                                                               }
+                                                       }
+                                                    });                        
                               
+                                                    
+                                                    if (lbProviderIsNetscaler 
== true) { //AutoScale is only supported on Netscaler (but not on any other 
provider like VirtualRouter)
+                                                       return false; //show 
AutoScale button
+                                                    } else {
+                                                       return 2; //hide 
Autoscale button (both header and form)
+                                                    }                          
                        
                                                 }
                                             },
 

Reply via email to