From: Dominik Csapak Date: Wed, 18 Nov 2020 10:59:37 +0000 (+0100) Subject: add 'Request Quarantine Link' Button to LoginView X-Git-Url: https://git.proxmox.com/?p=pmg-gui.git;a=commitdiff_plain;h=83c036b49ed1846e4ff6d8201b2dc2bc707a20d7 add 'Request Quarantine Link' Button to LoginView if the template has 'quarantinelink' enabled, we show a button 'Request Quarantine Link' on the quarantine login ui there a user can enter their e-mail and request a link to the quarantine Signed-off-by: Dominik Csapak --- diff --git a/js/LoginView.js b/js/LoginView.js index 8e610aa..4770494 100644 --- a/js/LoginView.js +++ b/js/LoginView.js @@ -10,6 +10,8 @@ Ext.define('PMG.LoginView', { let realmfield = me.lookup('realmfield'); + me.lookup('quarantineButton').setVisible(!!Proxmox.QuarantineLink); + if (view.targetview !== 'quarantineview') { return; } @@ -65,6 +67,30 @@ Ext.define('PMG.LoginView', { } }, + openQuarantineLinkWindow: function() { + let me = this; + me.lookup('loginwindow').setVisible(false); + Ext.create('Proxmox.window.Edit', { + title: gettext('Request Quarantine Link'), + url: '/quarantine/sendlink', + isCreate: true, + submitText: gettext('OK'), + method: 'POST', + items: [ + { + xtype: 'proxmoxtextfield', + name: 'mail', + fieldLabel: gettext('Your E-Mail'), + }, + ], + listeners: { + destroy: function() { + me.lookup('loginwindow').show(true); + }, + }, + }).show(); + }, + control: { 'field[name=lang]': { change: function(f, value) { @@ -76,6 +102,9 @@ Ext.define('PMG.LoginView', { window.location.reload(); }, }, + 'button[reference=quarantineButton]': { + click: 'openQuarantineLinkWindow', + }, 'button[reference=loginButton]': { click: 'submitForm', }, @@ -172,6 +201,10 @@ Ext.define('PMG.LoginView', { }, ], buttons: [ + { + text: gettext('Request Quarantine Link'), + reference: 'quarantineButton', + }, { text: gettext('Login'), reference: 'loginButton', diff --git a/pmg-index.html.tt b/pmg-index.html.tt index 4faf0cf..4a29ba2 100644 --- a/pmg-index.html.tt +++ b/pmg-index.html.tt @@ -30,7 +30,8 @@ Setup: { auth_cookie_name: 'PMGAuthCookie' }, NodeName: '[% nodename %]', UserName: '[% username %]', - CSRFPreventionToken: '[% token %]' + CSRFPreventionToken: '[% token %]', + QuarantineLink: [% IF quarantinelink %] true [% ELSE %] false [% END %], };