[pbs-devel] [PATCH proxmox-backup v5 29/44] ui: tape backup: add selector for 'notification-mode'

Lukas Wagner l.wagner at proxmox.com
Tue Apr 23 13:52:15 CEST 2024


Signed-off-by: Lukas Wagner <l.wagner at proxmox.com>
Tested-by: Gabriel Goller <g.goller at proxmox.com>
Reviewed-by: Gabriel Goller <g.goller at proxmox.com>
Tested-by: Maximiliano Sandoval <m.sandoval at proxmox.com>
---
 www/tape/window/TapeBackup.js    | 25 +++++++++++++++++++++++++
 www/tape/window/TapeBackupJob.js | 11 ++++++++++-
 2 files changed, 35 insertions(+), 1 deletion(-)

diff --git a/www/tape/window/TapeBackup.js b/www/tape/window/TapeBackup.js
index 941b6b83..a8385339 100644
--- a/www/tape/window/TapeBackup.js
+++ b/www/tape/window/TapeBackup.js
@@ -8,6 +8,15 @@ Ext.define('PBS.TapeManagement.TapeBackupWindow', {
     showTaskViewer: true,
     isCreate: true,
 
+    viewModel: {
+	data: {
+	    notificationMode: 'notification-system',
+	},
+	formulas: {
+	    notificationSystemSelected: (get) => get('notificationMode') === 'notification-system',
+	},
+    },
+
     items: [
 	{
 	    xtype: 'inputpanel',
@@ -81,6 +90,19 @@ Ext.define('PBS.TapeManagement.TapeBackupWindow', {
 		    name: 'eject-media',
 		    fieldLabel: gettext('Eject Media'),
 		},
+		{
+		    xtype: 'proxmoxKVComboBox',
+		    labelWidth: 150,
+		    comboItems: [
+			['legacy-sendmail', gettext('Email (legacy)')],
+			['notification-system', gettext('Notification system')],
+		    ],
+		    fieldLabel: gettext('Notification mode'),
+		    name: 'notification-mode',
+		    bind: {
+			value: '{notificationMode}',
+		    },
+		},
 		{
 		    xtype: 'pmxUserSelector',
 		    labelWidth: 150,
@@ -90,6 +112,9 @@ Ext.define('PBS.TapeManagement.TapeBackupWindow', {
 		    value: null,
 		    allowBlank: true,
 		    skipEmptyText: true,
+		    bind: {
+			disabled: "{notificationSystemSelected}",
+		    },
 		    renderer: Ext.String.htmlEncode,
 		},
 	    ],
diff --git a/www/tape/window/TapeBackupJob.js b/www/tape/window/TapeBackupJob.js
index 309dda0b..12623712 100644
--- a/www/tape/window/TapeBackupJob.js
+++ b/www/tape/window/TapeBackupJob.js
@@ -48,13 +48,21 @@ Ext.define('PBS.TapeManagement.BackupJobEdit', {
 
     viewModel: {
 	data: {
-	    notificationMode: 'notification-system',
+	    notificationMode: '__default__',
 	},
 	formulas: {
 	    notificationSystemSelected: (get) => get('notificationMode') === 'notification-system',
 	},
     },
 
+    initComponent: function() {
+	let me = this;
+	// Automatically select the new system for new jobs
+	let mode = me.isCreate ? "notification-system" : "__default__";
+	me.getViewModel().set('notificationMode', mode);
+	me.callParent();
+    },
+
     items: {
 	xtype: 'tabpanel',
 	bodyPadding: 10,
@@ -121,6 +129,7 @@ Ext.define('PBS.TapeManagement.BackupJobEdit', {
 		    {
 			xtype: 'proxmoxKVComboBox',
 			comboItems: [
+			    ['__default__', `${Proxmox.Utils.defaultText}  (Email)`],
 			    ['legacy-sendmail', gettext('Email (legacy)')],
 			    ['notification-system', gettext('Notification system')],
 			],
-- 
2.39.2




More information about the pbs-devel mailing list