[pbs-devel] [PATCH backup 4/4] window: add consent modal

Gabriel Goller g.goller at proxmox.com
Thu May 16 18:25:01 CEST 2024


Add consentModal that gets displayed before the login. Simply shows the
text in a scrollable box and contains two buttons: "I agree" and "I
decline".

Signed-off-by: Gabriel Goller <g.goller at proxmox.com>
---
 src/Makefile               |  1 +
 src/window/ConsentModal.js | 39 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 40 insertions(+)
 create mode 100644 src/window/ConsentModal.js

diff --git a/src/Makefile b/src/Makefile
index 0478251..3c2fd4b 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -87,6 +87,7 @@ JSSRC=					\
 	window/DiskSmart.js		\
 	window/ZFSDetail.js		\
 	window/Certificates.js		\
+	window/ConsentModal.js		\
 	window/ACMEAccount.js		\
 	window/ACMEPluginEdit.js	\
 	window/ACMEDomains.js		\
diff --git a/src/window/ConsentModal.js b/src/window/ConsentModal.js
new file mode 100644
index 0000000..de5dc4f
--- /dev/null
+++ b/src/window/ConsentModal.js
@@ -0,0 +1,39 @@
+Ext.define('Proxmox.window.ConsentModal', {
+    extend: 'Ext.window.Window',
+    alias: ['widget.pmxConsentModal'],
+    mixins: ['Proxmox.Mixin.CBind'],
+
+    width: 600,
+    modal: true,
+    closable: false,
+    resizable: false,
+    title: gettext('Consent'),
+
+    items: [
+	{
+	    xtype: 'textareafield',
+	    cbind: {
+		value: '{consent}',
+	    },
+	    editable: false,
+	    width: 600,
+	    height: 400,
+	    scrollable: 'y',
+	},
+    ],
+    buttons: [
+	{
+	    handler: function() {
+		this.up('window').close();
+	    },
+	    text: gettext('I Accept'),
+	},
+	{
+	    handler: function() {
+		Ext.Msg.alert('Error', 'To login, the terms&conditions must be accepted.');
+	    },
+	    text: gettext('I Decline'),
+	},
+    ],
+});
+
-- 
2.43.0





More information about the pbs-devel mailing list