CLOUDSTACK-2038: cloudstack UI - mixed zone management - template menu - copy 
template 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/6c2f2d3a
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/6c2f2d3a
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/6c2f2d3a

Branch: refs/heads/master
Commit: 6c2f2d3a9de1d255854afcce8bd2fc3519696498
Parents: 9e392d2
Author: Jessica Wang <[email protected]>
Authored: Mon Apr 15 16:35:07 2013 -0700
Committer: Jessica Wang <[email protected]>
Committed: Mon Apr 15 16:35:07 2013 -0700

----------------------------------------------------------------------
 ui/scripts/templates.js |   30 +++++++++++++++++++++++-------
 1 files changed, 23 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/6c2f2d3a/ui/scripts/templates.js
----------------------------------------------------------------------
diff --git a/ui/scripts/templates.js b/ui/scripts/templates.js
index b924841..c1e01c1 100644
--- a/ui/scripts/templates.js
+++ b/ui/scripts/templates.js
@@ -547,13 +547,29 @@
                           dataType: "json",
                           async: true,
                           success: function(json) {
-                            var zoneObjs = json.listzonesresponse.zone;
-                            var items = [];
-                            $(zoneObjs).each(function() {
-                              if(this.id != args.context.templates[0].zoneid)
-                                items.push({id: this.id, description: 
this.name});
-                            });
-                            args.response.success({data: items});
+                                                                               
                                var zoneObjs = [];
+                                                                               
                                var items = json.listzonesresponse.zone;        
                                                                                
                        
+                                                                               
                                if(args.context.zoneType == null || 
args.context.zoneType == '') { //all types
+                                                                               
                                  if(items != null) {
+                                                                               
                                                for(var i = 0; i < 
items.length; i++) {                                                            
                                                                                
                                                                                
                                     
+                                                                               
                                                        if(items[i].id != 
args.context.templates[0].zoneid) { //destination zone must be different from 
source zone
+                                                                               
                                                                
zoneObjs.push({id: items[i].id, description: items[i].name});
+                                                                               
                                                        }                       
                                                                                
                                
+                                                                               
                                                }
+                                                                               
                                        }
+                                                                               
                                }
+                                                                               
                                else {  //Basic type or Advanced type           
                                                                                
        
+                                                                               
                                        if(items != null) {
+                                                                               
                                                for(var i = 0; i < 
items.length; i++) {
+                                                                               
                                                        if(items[i].networktype 
== args.context.zoneType) {     //type must be matched                          
                                                                        
+                                                                               
                                                                if(items[i].id 
!= args.context.templates[0].zoneid) { //destination zone must be different 
from source zone
+                                                                               
                                                                        
zoneObjs.push({id: items[i].id, description: items[i].name});
+                                                                               
                                                                }
+                                                                               
                                                        }
+                                                                               
                                                }
+                                                                               
                                        }
+                                                                               
                                }
+                            args.response.success({data: zoneObjs});
                           }
                         });
                       }

Reply via email to