Updated Branches:
  refs/heads/master eb21239e3 -> a5cff1dfd

CLOUDSTACK-4793: UI > Virtual Routers > Select View > group by zone > implement 
detailView of Zone, Total of Virtual Routers, Virtual Routers require upgrade.


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

Branch: refs/heads/master
Commit: a5cff1dfd585f2b1ff2db0cb6818ca73c20bb2f9
Parents: eb21239
Author: Jessica Wang <[email protected]>
Authored: Mon Nov 25 12:06:57 2013 -0800
Committer: Jessica Wang <[email protected]>
Committed: Mon Nov 25 12:08:55 2013 -0800

----------------------------------------------------------------------
 ui/scripts/system.js | 81 ++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 80 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/a5cff1df/ui/scripts/system.js
----------------------------------------------------------------------
diff --git a/ui/scripts/system.js b/ui/scripts/system.js
index d6ced5b..d748b72 100644
--- a/ui/scripts/system.js
+++ b/ui/scripts/system.js
@@ -8735,7 +8735,86 @@
                                         });
                                     }
                                 });
-                            }
+                            },                                                 
      
+                            detailView: {
+                               name: 'Virtual Routers group by zone',    
+                               tabs: {
+                                       details: {
+                                               title: 'Virtual Routers group 
by zone',                                                 
+                                               fields: [{
+                                            name: {
+                                                label: 'label.zone'
+                                            }
+                                               }, {
+                                            routerCount: {
+                                               label: 'Total of Virtual 
Routers'
+                                            },
+                                            routerRequiresUpgrade: {
+                                               label: 'Virtual Routers require 
upgrade',
+                                               converter: function(args) {     
                                        
+                                                       if (args > 0) {
+                                                               return 'Yes';
+                                                       } else {
+                                                               return 'No';
+                                                       }
+                                               }
+                                            }
+                                        }],  
+                                        dataProvider: function(args) {     
+                                               $.ajax({
+                                                   url: 
createURL('listRouters'),
+                                                   data: {
+                                                       zoneid: 
args.context.routerGroupByZone[0].id
+                                                   },
+                                                   async: false,
+                                                   success: function(json) {
+                                                       if 
(json.listroutersresponse.count != undefined) {
+                                                               
args.context.routerGroupByZone[0].routerCount = json.listroutersresponse.count; 
   
+                                                                               
                                                
+                                                               var 
routerCountFromAllPages = args.context.routerGroupByZone[0].routerCount;        
                                            
+                                                               var currentPage 
= 1;
+                                                               var 
routerCountFromFirstPageToCurrentPage = 0;  
+                                                               var 
routerRequiresUpgrade = 0;                                                      
                                                                    
+                                                               var 
callListApiWithPage = function() {                                              
            
+                                                                       $.ajax({
+                                                                               
        url: createURL('listRouters'),
+                                                                       async: 
false,
+                                                                       data: { 
                                                                                
+                                                                               
zoneid: args.context.routerGroupByZone[0].id,
+                                                                               
page: currentPage,
+                                                                       
pagesize: pageSize //global variable
+                                                                       },
+                                                                       
success: function(json) {                                               
+                                                                               
routerCountFromFirstPageToCurrentPage += 
json.listroutersresponse.router.length;                                         
                                                                                
                               
+                                                                               
var items = json.listroutersresponse.router;
+                                                                               
for (var i = 0; i < items.length; i++) {                                        
                                                
+                                                                               
        if (items[i].requiresupgrade) {
+                                                                               
                routerRequiresUpgrade++;
+                                                                               
        }
+                                                                               
}                                                                               
+                                                                               
if (routerCountFromFirstPageToCurrentPage < routerCountFromAllPages) {
+                                                                               
        currentPage++;
+                                                                               
        callListApiWithPage();
+                                                                               
}                                                                       
+                                                                       }
+                                                                               
});                                                             
+                                                               }               
                                                
+                                                               
callListApiWithPage();                          
+                                                               
args.context.routerGroupByZone[0].routerRequiresUpgrade = routerRequiresUpgrade;
+                                                               
+                                                       } else {
+                                                               
args.context.routerGroupByZone[0].routerCount = 0;
+                                                               
args.context.routerGroupByZone[0].routerRequiresUpgrade = 0;
+                                                       }                       
                                                                                
        
+                                                   }
+                                               });                             
                
+                                               args.response.success({
+                                                       data: 
args.context.routerGroupByZone[0]
+                                               })
+                                        }
+                                       }
+                               }
+                            }                                               
                         }
                     }                   
                 }

Reply via email to