ui: tape backup: add selector for 'notification-mode'

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
Tested-by: Gabriel Goller <g.goller@proxmox.com>
Reviewed-by: Gabriel Goller <g.goller@proxmox.com>
Tested-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This commit is contained in:
Lukas Wagner 2024-04-23 13:52:15 +02:00 committed by Thomas Lamprecht
parent 5e2ab2765c
commit 168e2f2967
2 changed files with 35 additions and 1 deletions

View File

@ -8,6 +8,15 @@ Ext.define('PBS.TapeManagement.TapeBackupWindow', {
showTaskViewer: true, showTaskViewer: true,
isCreate: true, isCreate: true,
viewModel: {
data: {
notificationMode: 'notification-system',
},
formulas: {
notificationSystemSelected: (get) => get('notificationMode') === 'notification-system',
},
},
items: [ items: [
{ {
xtype: 'inputpanel', xtype: 'inputpanel',
@ -81,6 +90,19 @@ Ext.define('PBS.TapeManagement.TapeBackupWindow', {
name: 'eject-media', name: 'eject-media',
fieldLabel: gettext('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', xtype: 'pmxUserSelector',
labelWidth: 150, labelWidth: 150,
@ -90,6 +112,9 @@ Ext.define('PBS.TapeManagement.TapeBackupWindow', {
value: null, value: null,
allowBlank: true, allowBlank: true,
skipEmptyText: true, skipEmptyText: true,
bind: {
disabled: "{notificationSystemSelected}",
},
renderer: Ext.String.htmlEncode, renderer: Ext.String.htmlEncode,
}, },
], ],

View File

@ -48,13 +48,21 @@ Ext.define('PBS.TapeManagement.BackupJobEdit', {
viewModel: { viewModel: {
data: { data: {
notificationMode: 'notification-system', notificationMode: '__default__',
}, },
formulas: { formulas: {
notificationSystemSelected: (get) => get('notificationMode') === 'notification-system', 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: { items: {
xtype: 'tabpanel', xtype: 'tabpanel',
bodyPadding: 10, bodyPadding: 10,
@ -121,6 +129,7 @@ Ext.define('PBS.TapeManagement.BackupJobEdit', {
{ {
xtype: 'proxmoxKVComboBox', xtype: 'proxmoxKVComboBox',
comboItems: [ comboItems: [
['__default__', `${Proxmox.Utils.defaultText} (Email)`],
['legacy-sendmail', gettext('Email (legacy)')], ['legacy-sendmail', gettext('Email (legacy)')],
['notification-system', gettext('Notification system')], ['notification-system', gettext('Notification system')],
], ],