[pve-devel] [PATCH manager v2] fix #1358: ui: show clustername besides 'Datacenter' node, if available

Thomas Lamprecht t.lamprecht at proxmox.com
Thu Nov 15 13:30:13 CET 2018


If we get the cluster name (successful login with '/' Sys.Audit
permissions) then display it in the resource tree's root node.

This updated on login and all ticket refreshs (every 15 minutes).
I currently have no functionallity to refresh it actively on cluster
create over WebUI, as it's not a straight forward change there.
Further, this is something which does not changes often (in
production), and we cannot detect CLI or API triggered (from non-pve
clients) cluster creations anyway.

Signed-off-by: Thomas Lamprecht <t.lamprecht at proxmox.com>
---

changes v1 -> v2:
* don't save in a global object and autoupdate, rather add a helper function
  and set it explicitly on login.
* also clear it explicitly on logout, which is way easier with above change

Thanks to Dominik for the review and basic idea.

 www/manager6/Workspace.js         |  4 ++++
 www/manager6/tree/ResourceTree.js | 14 +++++++++++++-
 2 files changed, 17 insertions(+), 1 deletion(-)

diff --git a/www/manager6/Workspace.js b/www/manager6/Workspace.js
index f75356c5..e88300f2 100644
--- a/www/manager6/Workspace.js
+++ b/www/manager6/Workspace.js
@@ -22,6 +22,9 @@ Ext.define('PVE.Workspace', {
 	Proxmox.CSRFPreventionToken = loginData.CSRFPreventionToken;
 	Proxmox.UserName = loginData.username;
 
+	var rt = me.down('pveResourceTree');
+	rt.setDatacenterText(loginData.clustername);
+
 	if (loginData.cap) {
 	    Ext.state.Manager.set('GuiCap', loginData.cap);
 	}
@@ -346,6 +349,7 @@ Ext.define('PVE.StdWorkspace', {
 				me.showLogin(); 
 				me.setContent(null);
 				var rt = me.down('pveResourceTree');
+				rt.setDatacenterText(undefined);
 				rt.clearTree();
 
 				// empty the stores of the StatusPanel child items
diff --git a/www/manager6/tree/ResourceTree.js b/www/manager6/tree/ResourceTree.js
index 165ef733..3e8c40d5 100644
--- a/www/manager6/tree/ResourceTree.js
+++ b/www/manager6/tree/ResourceTree.js
@@ -410,7 +410,19 @@ Ext.define('PVE.tree.ResourceTree', {
 		me.clearTree();
 		updateTree();
 	    },
-	    clearTree: function() {
+	    setDatacenterText: function(clustername) {
+		var rootnode = me.store.getRootNode();
+
+		var rnodeText = gettext('Datacenter');
+		if (clusterName !== undefined) {
+		    rnodeText += ' (' + clusterName + ')';
+		}
+
+		rootnode.beginEdit();
+		rootnode.data.text = rnodeText;
+		rootnode.commit();
+	    },
+	    clearTree: function(reset) {
 		pdata.updateCount = 0;
 		var rootnode = me.store.getRootNode();
 		rootnode.collapse();
-- 
2.19.1





More information about the pve-devel mailing list