ui: backup job details: show notification-mode instead of legacy keys
The backup job details view was never updated after the overhaul of the notification system. In this commit we remove the left-over notification-policy/target handling and change the view so that we display the current configuration based on notification-mode, mailto and mailnotification. Signed-off-by: Lukas Wagner <l.wagner@proxmox.com> Link: https://lore.proxmox.com/20250709081432.91868-3-l.wagner@proxmox.com
This commit is contained in:
parent
df147ed0ff
commit
0640648bcd
1 changed files with 32 additions and 16 deletions
|
|
@ -165,6 +165,7 @@ Ext.define('PVE.dc.BackupInfo', {
|
|||
viewModel: {
|
||||
data: {
|
||||
retentionType: 'none',
|
||||
hideRecipients: true,
|
||||
},
|
||||
formulas: {
|
||||
hasRetention: (get) => get('retentionType') !== 'none',
|
||||
|
|
@ -206,28 +207,37 @@ Ext.define('PVE.dc.BackupInfo', {
|
|||
column2: [
|
||||
{
|
||||
xtype: 'displayfield',
|
||||
name: 'notification-policy',
|
||||
name: 'notification-mode',
|
||||
fieldLabel: gettext('Notification'),
|
||||
renderer: function (value) {
|
||||
value = value ?? 'auto';
|
||||
let record = this.up('pveBackupInfo')?.record;
|
||||
let mailto = record?.mailto;
|
||||
let mailnotification = record?.mailnotification ?? 'always';
|
||||
|
||||
// Fall back to old value, in case this option is not migrated yet.
|
||||
let policy = value || record?.mailnotification || 'always';
|
||||
|
||||
let when = gettext('Always');
|
||||
if (policy === 'failure') {
|
||||
when = gettext('On failure only');
|
||||
} else if (policy === 'never') {
|
||||
when = gettext('Never');
|
||||
if ((value === 'auto' && mailto === undefined) || (value === 'notification-system')) {
|
||||
return gettext('Use global notification settings');
|
||||
} else if (mailnotification === 'always') {
|
||||
return gettext('Always send email');
|
||||
} else {
|
||||
return gettext('Send email on failure');
|
||||
}
|
||||
},
|
||||
},
|
||||
{
|
||||
xtype: 'displayfield',
|
||||
name: 'mailto',
|
||||
fieldLabel: gettext('Recipients'),
|
||||
hidden: true,
|
||||
bind: {
|
||||
hidden: '{hideRecipients}',
|
||||
},
|
||||
renderer: function (value) {
|
||||
if (!value) {
|
||||
return gettext('No recipients configured');
|
||||
}
|
||||
|
||||
// Notification-target takes precedence
|
||||
let target =
|
||||
record?.['notification-target'] ||
|
||||
record?.mailto ||
|
||||
gettext('No target configured');
|
||||
|
||||
return `${when} (${target})`;
|
||||
return value;
|
||||
},
|
||||
},
|
||||
{
|
||||
|
|
@ -382,6 +392,12 @@ Ext.define('PVE.dc.BackupInfo', {
|
|||
vm.set('retentionType', 'none');
|
||||
}
|
||||
|
||||
let notificationMode = values['notification-mode'] ?? 'auto';
|
||||
let mailto = values.mailto;
|
||||
|
||||
let hideRecipients = (notificationMode === 'auto' && mailto === undefined) || (notificationMode === 'notification-system');
|
||||
vm.set('hideRecipients', hideRecipients);
|
||||
|
||||
// selection Mode depends on the presence/absence of several keys
|
||||
let selModeField = me.query('[isFormField][name=selMode]')[0];
|
||||
let selMode = 'none';
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue