all lists on lists.proxmox.com
 help / color / mirror / Atom feed
From: Philipp Hufnagl <p.hufnagl@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: [pve-devel] [PATCH proxmox-widget-toolkit v2 1/1] fix #4546: ui: notify user if there usser account expires soon
Date: Tue, 10 Oct 2023 12:40:33 +0200	[thread overview]
Message-ID: <20231010104034.932760-5-p.hufnagl@proxmox.com> (raw)
In-Reply-To: <20231010104034.932760-1-p.hufnagl@proxmox.com>

When the user account that is currently logged in will expire soon, the
user icon will turn into a yellow exclamation mark. In the user menu
there will be a new element informing the user briefly about it. If the
element is clicked, a popup will appear informing the user in detail
about it

Signed-off-by: Philipp Hufnagl <p.hufnagl@proxmox.com>
---
 www/manager6/Workspace.js | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/www/manager6/Workspace.js b/www/manager6/Workspace.js
index 18d574b7..41d44a00 100644
--- a/www/manager6/Workspace.js
+++ b/www/manager6/Workspace.js
@@ -42,6 +42,7 @@ Ext.define('PVE.Workspace', {
 	Proxmox.Utils.authClear();
 	Ext.state.Manager.clear('GuiCap');
 	Proxmox.UserName = null;
+	Proxmox.AccountExpiryDate = null;
 	me.loginData = null;
 
 	if (!me.login) {
@@ -198,6 +199,18 @@ Ext.define('PVE.StdWorkspace', {
 	let me = this;
 	let ui = me.query('#userinfo')[0];
 	ui.setText(Ext.String.htmlEncode(Proxmox.UserName || ''));
+	let label = me.query('#expirewarning')[0];
+	if (Proxmox.AccountExpiryDate !== null) {
+	    let expiryWarningThreshold = Ext.Date.add(new Date(), Ext.Date.DAY, 7);
+	    let expireDate = new Date(Proxmox.AccountExpiryDate * 1000);
+	    if (expiryWarningThreshold >= expireDate) {
+	        ui.setIconCls('fa fa-exclamation-triangle warning');
+		label.setHidden(false);
+	    }
+	} else {
+		label.setHidden(true);
+		ui.setIconCls('fa fa-user');
+	}
 	ui.updateLayout();
     },
 
@@ -367,6 +380,21 @@ Ext.define('PVE.StdWorkspace', {
 			    },
 			    iconCls: 'fa fa-user',
 			    menu: [
+				{
+				    iconCls: 'fa fa-exclamation-triangle warning',
+				    itemId: 'expirewarning',
+				    text: gettext('Account expiring soon!'),
+				    hidden: true,
+				    handler: function() {
+					let expireDate = new Date(Proxmox.AccountExpiryDate * 1000);
+					Ext.Msg.show({
+					    title: gettext('Account expiring soon!'),
+					    icon: Ext.Msg.WARNING,
+					    message: Ext.String.format(gettext("Your account is expiring on {0} . After that you won't be able to log in!"), expireDate),
+					    buttons: Ext.Msg.OK,
+					});
+				    },
+				},
 				{
 				    iconCls: 'fa fa-gear',
 				    text: gettext('My Settings'),
-- 
2.39.2





  parent reply	other threads:[~2023-10-10 10:40 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-10 10:40 [pve-devel] [PATCH proxmox-widget-toolkit/manager/access-control v2 0/5] fix #4546: Show warning hint/badge if user account is expiring in next few days Philipp Hufnagl
2023-10-10 10:40 ` [pve-devel] [PATCH proxmox-widget-toolkit v2 1/3] fix #4546: css: create a new css class for warning texts Philipp Hufnagl
2023-10-10 10:40 ` [pve-devel] [PATCH proxmox-widget-toolkit v2 2/3] fix #4546: utils: Highlight accounts in user management that exprie soon Philipp Hufnagl
2023-10-10 10:40 ` [pve-devel] [PATCH proxmox-widget-toolkit v2 3/3] fix #4546: utils: Expand authentication data with account expiry date Philipp Hufnagl
2023-10-10 10:40 ` Philipp Hufnagl [this message]
2023-10-10 10:40 ` [pve-devel] [PATCH access-control v2 1/1] fix #4546: api: Return user expiration date on access/ticket API call Philipp Hufnagl

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20231010104034.932760-5-p.hufnagl@proxmox.com \
    --to=p.hufnagl@proxmox.com \
    --cc=pve-devel@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal