so we have a more 'web-app' like appearance for the user

the menu contains links to:
* browser localstorage settings
* password change
* tfa change
* logout

Signed-off-by: Dominik Csapak <d.csa...@proxmox.com>
---

this patch needs my previous series for tfa, to correctly use the TFAEdit window

 www/manager6/Workspace.js | 93 +++++++++++++++++++++++++++--------------------
 1 file changed, 53 insertions(+), 40 deletions(-)

diff --git a/www/manager6/Workspace.js b/www/manager6/Workspace.js
index 1d343525..53d4f7c7 100644
--- a/www/manager6/Workspace.js
+++ b/www/manager6/Workspace.js
@@ -160,15 +160,8 @@ Ext.define('PVE.StdWorkspace', {
 
     updateUserInfo: function() {
        var me = this;
-
        var ui = me.query('#userinfo')[0];
-
-       if (Proxmox.UserName) {
-           var msg =  Ext.String.format(gettext("You are logged in as {0}"), 
"'" + Proxmox.UserName + "'");
-           ui.update('<div class="x-unselectable" 
style="white-space:nowrap;">' + msg + '</div>');
-       } else {
-           ui.update('');
-       }
+       ui.setText(Proxmox.UserName || '');
        ui.updateLayout();
     },
 
@@ -307,21 +300,6 @@ Ext.define('PVE.StdWorkspace', {
                            flex: 1
                        },
                        {
-                           pack: 'end',
-                           id: 'userinfo',
-                           stateful: false
-                       },
-                       {
-                           xtype: 'button',
-                           margin: '0 10 0 3',
-                           iconCls: 'fa black fa-gear',
-                           userCls: 'pointer',
-                           handler: function() {
-                               var win = Ext.create('PVE.window.Settings');
-                               win.show();
-                           }
-                       },
-                       {
                            xtype: 'proxmoxHelpButton',
                            hidden: false,
                            baseCls: 'x-btn',
@@ -336,26 +314,61 @@ Ext.define('PVE.StdWorkspace', {
                        {
                            pack: 'end',
                            margin: '0 5 0 0',
+                           id: 'userinfo',
                            xtype: 'button',
                            baseCls: 'x-btn',
-                           iconCls: 'fa fa-sign-out',
-                           text: gettext("Logout"),
-                           handler: function() { 
-                               PVE.data.ResourceStore.loadData([], false);
-                               me.showLogin(); 
-                               me.setContent(null);
-                               var rt = me.down('pveResourceTree');
-                               rt.setDatacenterText(undefined);
-                               rt.clearTree();
-
-                               // empty the stores of the StatusPanel child 
items
-                               var statusPanels = 
Ext.ComponentQuery.query('pveStatusPanel grid');
-                               Ext.Array.forEach(statusPanels, function(comp) {
-                                   if (comp.getStore()) {
-                                       comp.getStore().loadData([], false);
+                           iconCls: 'fa fa-user',
+                           menu: [
+                               {
+                                   iconCls: 'fa fa-gear',
+                                   text: gettext('My Settings'),
+                                   handler: function() {
+                                       var win = 
Ext.create('PVE.window.Settings');
+                                       win.show();
                                    }
-                               });
-                           }
+                               },
+                               {
+                                   text: gettext('Password'),
+                                   iconCls: 'fa fa-fw fa-key',
+                                   handler: function() {
+                                       var win = 
Ext.create('Proxmox.window.PasswordEdit', {
+                                           userid: Proxmox.UserName
+                                       });
+                                       win.show();
+                                   }
+                               },
+                               {
+                                   text: 'TFA',
+                                   iconCls: 'fa fa-fw fa-lock',
+                                   handler: function(btn, event, rec) {
+                                       var win = 
Ext.create('PVE.window.TFAEdit',{
+                                           userid: Proxmox.UserName
+                                       });
+                                       win.show();
+                                   }
+                               },
+                               '-',
+                               {
+                                   iconCls: 'fa fa-fw fa-sign-out',
+                                   text: gettext("Logout"),
+                                   handler: function() {
+                                       PVE.data.ResourceStore.loadData([], 
false);
+                                       me.showLogin();
+                                       me.setContent(null);
+                                       var rt = me.down('pveResourceTree');
+                                       rt.setDatacenterText(undefined);
+                                       rt.clearTree();
+
+                                       // empty the stores of the StatusPanel 
child items
+                                       var statusPanels = 
Ext.ComponentQuery.query('pveStatusPanel grid');
+                                       Ext.Array.forEach(statusPanels, 
function(comp) {
+                                           if (comp.getStore()) {
+                                               comp.getStore().loadData([], 
false);
+                                           }
+                                       });
+                                   }
+                               }
+                           ]
                        }
                    ]
                },
-- 
2.11.0


_______________________________________________
pve-devel mailing list
pve-devel@pve.proxmox.com
https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to