[pve-devel] [PATCH manager 6/6] ui: Workspace: use domains info to hide password/tfa items

Dominik Csapak d.csapak at proxmox.com
Thu Jul 1 14:25:06 CEST 2021


in the user menu

we have to make an additional api call here, since it is the only
place (currently) where we can get the realm type

Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
---
alternatively, we could give that info in the index or the ticket
api call, but this has the advantage that we will load the
domains and can add them to the acl list (not included in this
series, would send that when this gets applied)

 www/manager6/Workspace.js | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/www/manager6/Workspace.js b/www/manager6/Workspace.js
index b93ba669..066d46b6 100644
--- a/www/manager6/Workspace.js
+++ b/www/manager6/Workspace.js
@@ -172,6 +172,23 @@ Ext.define('PVE.StdWorkspace', {
 		    }
 		},
 	    });
+
+	    Proxmox.Utils.API2Request({
+		url: '/access/domains',
+		method: 'GET',
+		success: function(response) {
+		    let [_username, realm] = PVE.Utils.parse_userid(Proxmox.UserName);
+		    response.result.data.forEach((domain) => {
+			if (domain.realm === realm) {
+			    let schema = PVE.Utils.authSchema[domain.type];
+			    if (schema) {
+				me.query('#tfaitem')[0].setHidden(!schema.tfa);
+				me.query('#passworditem')[0].setHidden(!schema.pwchange);
+			    }
+			}
+		    });
+		},
+	    });
 	}
     },
 
@@ -353,6 +370,7 @@ Ext.define('PVE.StdWorkspace', {
 				},
 				{
 				    text: gettext('Password'),
+				    itemId: 'passworditem',
 				    iconCls: 'fa fa-fw fa-key',
 				    handler: function() {
 					var win = Ext.create('Proxmox.window.PasswordEdit', {
@@ -363,6 +381,7 @@ Ext.define('PVE.StdWorkspace', {
 				},
 				{
 				    text: 'TFA',
+				    itemId: 'tfaitem',
 				    iconCls: 'fa fa-fw fa-lock',
 				    handler: function(btn, event, rec) {
 					var win = Ext.create('PVE.window.TFAEdit', {
-- 
2.30.2






More information about the pve-devel mailing list