You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by bf...@apache.org on 2013/01/14 21:07:32 UTC

[3/4] git commit: Instance detail view UI: Fix 'view all hosts'

Instance detail view UI: Fix 'view all hosts'


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

Branch: refs/heads/ui-quick-view-v2
Commit: c95e89696ac30aeaac257569bdce8592d439093f
Parents: a756f7d
Author: Brian Federle <br...@citrix.com>
Authored: Mon Jan 14 11:53:10 2013 -0800
Committer: Brian Federle <br...@citrix.com>
Committed: Mon Jan 14 11:53:10 2013 -0800

----------------------------------------------------------------------
 ui/scripts/instances.js |  107 +++++++++++++++++++++++++----------------
 ui/scripts/system.js    |   16 ++++--
 2 files changed, 76 insertions(+), 47 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c95e8969/ui/scripts/instances.js
----------------------------------------------------------------------
diff --git a/ui/scripts/instances.js b/ui/scripts/instances.js
index ca16929..9756fb5 100644
--- a/ui/scripts/instances.js
+++ b/ui/scripts/instances.js
@@ -34,21 +34,21 @@
           },
           label: 'state.Destroyed'
         }
-      },			
+      },
 			preFilter: function(args) {
 				var hiddenFields = [];
-				if(!isAdmin()) {				
+				if(!isAdmin()) {
 					hiddenFields.push('instancename');
-				}			
+				}
 				return hiddenFields;
-			},			
-      fields: {      
+			},
+      fields: {
 				name: { label: 'label.name' },
 				instancename: { label: 'label.internal.name' },
 				displayname: { label: 'label.display.name' },
         zonename: { label: 'label.zone.name' },
         state: {
-          label: 'label.state',         
+          label: 'label.state',
           indicator: {
             'Running': 'on',
             'Stopped': 'off',
@@ -57,18 +57,18 @@
           }
         }
       },
-			
+
 			advSearchFields: {
 				name: { label: 'Name' },
-				zoneid: { 
-					label: 'Zone',							
-					select: function(args) {							  					
+				zoneid: {
+					label: 'Zone',
+					select: function(args) {
 						$.ajax({
 							url: createURL('listZones'),
 							data: {
 								listAll: true
 							},
-							success: function(json) {									  
+							success: function(json) {
 								var zones = json.listzonesresponse.zone;
 
 								args.response.success({
@@ -81,16 +81,16 @@
 								});
 							}
 						});
-					}						
-				},	
-				
-				domainid: {					
-				  label: 'Domain',					
+					}
+				},
+
+				domainid: {
+				  label: 'Domain',
 					select: function(args) {
 					  if(isAdmin() || isDomainAdmin()) {
 							$.ajax({
 								url: createURL('listDomains'),
-								data: { 
+								data: {
 									listAll: true,
 									details: 'min'
 								},
@@ -120,21 +120,21 @@
 						else
 						  return true;
 					}
-				},		
-        account: { 
+				},
+        account: {
 				  label: 'Account',
           isHidden: function(args) {
 					  if(isAdmin() || isDomainAdmin())
 						  return false;
 						else
 						  return true;
-					}			
+					}
 				},
-				
+
 				tagKey: { label: 'Tag Key' },
-				tagValue: { label: 'Tag Value' }						
-			},						
-			
+				tagValue: { label: 'Tag Value' }
+			},
+
       // List view actions
       actions: {
         // Add instance wizard
@@ -145,9 +145,9 @@
             custom: cloudStack.uiCustom.instanceWizard(cloudStack.instanceWizard)
           },
 
-          messages: {            
-            notification: function(args) {              
-              return 'label.vm.add'; 
+          messages: {
+            notification: function(args) {
+              return 'label.vm.add';
             }
           },
           notification: {
@@ -158,49 +158,49 @@
 
       dataProvider: function(args) {
 			  var data = {};
-				listViewDataProvider(args, data);		
-				        				
+				listViewDataProvider(args, data);
+
 				if(args.filterBy != null) {	//filter dropdown
 					if(args.filterBy.kind != null) {
 						switch(args.filterBy.kind) {
-						case "all":						  						
+						case "all":
 							break;
 						case "mine":
 							if (!args.context.projects) {
 							  $.extend(data, {
-								  domainid: g_domainid, 
+								  domainid: g_domainid,
 									account: g_account
-								});		
-              }								
+								});
+              }
 							break;
 						case "running":
 						  $.extend(data, {
 							  state: 'Running'
-							});						
+							});
 							break;
 						case "stopped":
 						  $.extend(data, {
 							  state: 'Stopped'
-							});	
+							});
 							break;
 						case "destroyed":
 						  $.extend(data, {
 							  state: 'Destroyed'
-							});									
+							});
 							break;
 						}
-					}					
+					}
 				}
-								
-        if("hosts" in args.context) {          
+
+        if("hosts" in args.context) {
 					$.extend(data, {
 					  hostid: args.context.hosts[0].id
 					});
 				}
-					 							
+
         $.ajax({
           url: createURL('listVirtualMachines'),
-          data: data,          
+          data: data,
           success: function(json) {
             var items = json.listvirtualmachinesresponse.virtualmachine;
            // Code for hiding "Expunged VMs"
@@ -234,7 +234,30 @@
         viewAll: [
           { path: 'storage.volumes', label: 'label.volumes' },
           { path: 'storage.snapshots', label: 'label.snapshots' },
-          { path: 'system', label: 'label.hosts' }
+          {
+            path: '_zone.hosts',
+            label: 'label.hosts',
+            preFiter: function(args) {
+              return isAdmin();
+            },
+            updateContext: function(args) {
+              var instance = args.context.instances[0];
+              var zone;
+
+              $.ajax({
+                url: createURL('listZones'),
+                data: {
+                  id: instance.zoneid
+                },
+                async: false,
+                success: function(json) {
+                  zone = json.listzonesresponse.zone[0]
+                }
+              });
+
+              return { zones: [zone] };
+            }
+          }
         ],
         tabFilter: function(args) {
           var hiddenTabs = [];

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c95e8969/ui/scripts/system.js
----------------------------------------------------------------------
diff --git a/ui/scripts/system.js b/ui/scripts/system.js
index 6733da1..fc251f1 100644
--- a/ui/scripts/system.js
+++ b/ui/scripts/system.js
@@ -7967,11 +7967,17 @@
 								}
 							}
 						}
-            array1.push("&zoneid=" + args.context.zones[0].id);
-            if("pods" in args.context)
-              array1.push("&podid=" + args.context.pods[0].id);
-            if("clusters" in args.context)
-              array1.push("&clusterid=" + args.context.clusters[0].id);
+
+            if (!args.context.instances) {
+              array1.push("&zoneid=" + args.context.zones[0].id);
+              if("pods" in args.context)
+                array1.push("&podid=" + args.context.pods[0].id);
+              if("clusters" in args.context)
+                array1.push("&clusterid=" + args.context.clusters[0].id);
+            } else {
+              array1.push("&hostid=" + args.context.instances[0].hostid);
+            }
+
             $.ajax({
               url: createURL("listHosts&type=Routing" + array1.join("") + "&page=" + args.page + "&pagesize=" + pageSize),
               dataType: "json",