CLOUDSTACK-2038: cloudstack UI - mixed zone management - template menu - 
register ISO action - populate zone dropdown upon selected zone type on top 
menu.


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

Branch: refs/heads/master
Commit: 9e392d25ba38b04f62a7f61b39ffb26676c5fd09
Parents: 2431c81
Author: Jessica Wang <[email protected]>
Authored: Mon Apr 15 16:05:01 2013 -0700
Committer: Jessica Wang <[email protected]>
Committed: Mon Apr 15 16:05:01 2013 -0700

----------------------------------------------------------------------
 ui/scripts/templates.js |   36 ++++++++++++++++++++++++++----------
 1 files changed, 26 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9e392d25/ui/scripts/templates.js
----------------------------------------------------------------------
diff --git a/ui/scripts/templates.js b/ui/scripts/templates.js
index f579c50..b924841 100644
--- a/ui/scripts/templates.js
+++ b/ui/scripts/templates.js
@@ -877,16 +877,32 @@
                         url: createURL("listZones&available=true"),
                         dataType: "json",
                         async: true,
-                        success: function(json) {
-                          var zoneObjs = json.listzonesresponse.zone;
-                          var items = [];
-                          if (isAdmin() && !(cloudStack.context.projects &&
-                                              cloudStack.context.projects[0]))
-                            items.push({id: -1, description: "All Zones"});
-                          $(zoneObjs).each(function() {
-                            items.push({id: this.id, description: this.name});
-                          });
-                          args.response.success({data: items});
+                        success: function(json) {                              
                                                                        
+                                                                               
                        var zoneObjs;
+                                                                   
if(args.context.zoneType == null || args.context.zoneType == '') { //all types
+                                                                               
                                zoneObjs = [];
+                                                                               
                                var items = json.listzonesresponse.zone;
+                                                                               
                                if(items != null) {
+                                                                               
                                        for(var i = 0; i < items.length; i++) { 
                                                                                
                                        
+                                                                               
                                                zoneObjs.push({id: items[i].id, 
description: items[i].name});           
+                                                                               
                                        }
+                                                                               
                                }
+                                                                               
                        }
+                                                                               
                        else { //Basic type or Advanced type
+                                                                               
                                zoneObjs = [];
+                                                                               
                                var items = json.listzonesresponse.zone;
+                                                                               
                                if(items != null) {
+                                                                               
                                        for(var i = 0; i < items.length; i++) {
+                                                                               
                                                if(items[i].networktype == 
args.context.zoneType) {
+                                                                               
                                                  zoneObjs.push({id: 
items[i].id, description: items[i].name});                                      
                                                                                
           
+                                                                               
                                                }
+                                                                               
                                        }
+                                                                               
                                }
+                                                                               
                        }               
+                                                                               
                        if (isAdmin() && !(cloudStack.context.projects && 
cloudStack.context.projects[0])){
+                            zoneObjs.unshift({id: -1, description: "All 
Zones"});
+                          }                                                    
                                                                                
                                                                        
+                                                                               
                        args.response.success({data: zoneObjs});  
                         }
                       });
                     }

Reply via email to