From: Lukas Wagner <l.wagner@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: [pve-devel] [PATCH manager v3 2/2] ui: backup job details: show notification-mode instead of legacy keys
Date: Wed, 9 Jul 2025 10:14:32 +0200 [thread overview]
Message-ID: <20250709081432.91868-3-l.wagner@proxmox.com> (raw)
In-Reply-To: <20250709081432.91868-1-l.wagner@proxmox.com>
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>
---
Notes:
Changes since v2:
- Instead of rendering the recipient email addresses
in the 'Notification' field, use a separate 'Recipients'
display field. The field is only displayed if the legacy-mode
(or auto with mailto set) is configured.
- Rephrase some strings to make the more concise. While
the previous ones fitted within the width of the dialog,
they were indeed quite long. Some translations might
exceed the width of the dialog, leading to bad UX.
Changes since v1:
- Rebased onto latest master (PVE 9)
www/manager6/dc/BackupJobDetail.js | 48 ++++++++++++++++++++----------
1 file changed, 32 insertions(+), 16 deletions(-)
diff --git a/www/manager6/dc/BackupJobDetail.js b/www/manager6/dc/BackupJobDetail.js
index 58cb7bef..464bb558 100644
--- a/www/manager6/dc/BackupJobDetail.js
+++ b/www/manager6/dc/BackupJobDetail.js
@@ -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';
--
2.39.5
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
next prev parent reply other threads:[~2025-07-09 8:14 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-09 8:14 [pve-devel] [PATCH pve-guest-common v3 1/1] backup job: remove 'notification-policy' and 'notification-target' options Lukas Wagner
2025-07-09 8:14 ` [pve-devel] [PATCH manager v3 1/2] ui: remove handling of obsolete notification-policy/target settings Lukas Wagner
2025-07-11 12:34 ` [pve-devel] applied: " Thomas Lamprecht
2025-07-09 8:14 ` Lukas Wagner [this message]
2025-07-11 12:34 ` [pve-devel] applied: [PATCH manager v3 2/2] ui: backup job details: show notification-mode instead of legacy keys Thomas Lamprecht
2025-07-11 15:04 ` [pve-devel] " Gabriel Goller
2025-07-14 7:26 ` Lukas Wagner
2025-07-14 8:30 ` Gabriel Goller
2025-07-14 8:42 ` Lukas Wagner
2025-07-15 19:59 ` Thomas Lamprecht
2025-07-16 9:11 ` Lukas Wagner
2025-07-11 12:34 ` [pve-devel] applied: [PATCH pve-guest-common v3 1/1] backup job: remove 'notification-policy' and 'notification-target' options Thomas Lamprecht
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250709081432.91868-3-l.wagner@proxmox.com \
--to=l.wagner@proxmox.com \
--cc=pve-devel@lists.proxmox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox