This selector allows one to selected between the 'old' (send email
directly via sendmail) or the 'new' notification system.

The default is 'auto', which sends and email if one is configured,
and uses the notification system if no email address is set.

Signed-off-by: Lukas Wagner <l.wag...@proxmox.com>
---
 www/manager6/window/Backup.js | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/www/manager6/window/Backup.js b/www/manager6/window/Backup.js
index 8d8c9ff0..1733ae7c 100644
--- a/www/manager6/window/Backup.js
+++ b/www/manager6/window/Backup.js
@@ -36,6 +36,23 @@ Ext.define('PVE.window.Backup', {
            emptyText: Proxmox.Utils.noneText,
        });
 
+       let notificationModeSelector = Ext.create({
+           xtype: 'proxmoxKVComboBox',
+           comboItems: [
+               ['auto', gettext('Auto')],
+               ['legacy-sendmail', gettext('Email (legacy)')],
+               ['notification-system', gettext('Notification system')],
+           ],
+           fieldLabel: gettext('Notification mode'),
+           name: 'notification-mode',
+           value: 'auto',
+           listeners: {
+               change: function(field, value) {
+                   mailtoField.setDisabled(value === 'notification-system');
+               }
+           }
+       });
+
        const keepNames = [
            ['keep-last', gettext('Keep Last')],
            ['keep-hourly', gettext('Keep Hourly')],
@@ -110,6 +127,9 @@ Ext.define('PVE.window.Backup', {
                            if (!initialDefaults && data.mailto !== undefined) {
                                mailtoField.setValue(data.mailto);
                            }
+                           if (!initialDefaults && data['notification-mode'] 
!== undefined) {
+                               
notificationModeSelector.setValue(data['notification-mode']);
+                           }
                            if (!initialDefaults && data.mode !== undefined) {
                                modeSelector.setValue(data.mode);
                            }
@@ -176,6 +196,7 @@ Ext.define('PVE.window.Backup', {
            ],
            column2: [
                compressionSelector,
+               notificationModeSelector,
                mailtoField,
                removeCheckbox,
            ],
@@ -256,6 +277,10 @@ Ext.define('PVE.window.Backup', {
                    params.mailto = values.mailto;
                }
 
+               if (values['notification-mode']) {
+                   params['notification-mode'] = values['notification-mode'];
+               }
+
                if (values.compress) {
                    params.compress = values.compress;
                }
-- 
2.39.2



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

Reply via email to