[pve-devel] [PATCH pve-manager 19/27] ui: vzdump: remove left-overs from target/policy based notifications
Lukas Wagner
l.wagner at proxmox.com
Tue Nov 7 11:18:19 CET 2023
Signed-off-by: Lukas Wagner <l.wagner at proxmox.com>
---
www/manager6/dc/Backup.js | 81 ++++---------------
.../form/NotificationPolicySelector.js | 1 -
www/manager6/window/Backup.js | 35 +-------
3 files changed, 15 insertions(+), 102 deletions(-)
diff --git a/www/manager6/dc/Backup.js b/www/manager6/dc/Backup.js
index 0c8d2d4f..e1c76a1d 100644
--- a/www/manager6/dc/Backup.js
+++ b/www/manager6/dc/Backup.js
@@ -36,29 +36,11 @@ Ext.define('PVE.dc.BackupEdit', {
delete values.node;
}
- if (!isCreate) {
- // 'mailnotification' is deprecated in favor of 'notification-policy'
- // -> Migration to the new parameter happens in init, so we are
- // safe to remove the old parameter here.
- Proxmox.Utils.assemble_field_data(values, { 'delete': 'mailnotification' });
-
- // If sending notifications via mail, remove the current value of
- // 'notification-target'
- if (values['notification-mode'] === "mailto") {
- Proxmox.Utils.assemble_field_data(
- values,
- { 'delete': 'notification-target' },
- );
- } else {
- // and vice versa...
- Proxmox.Utils.assemble_field_data(
- values,
- { 'delete': 'mailto' },
- );
- }
- }
-
- delete values['notification-mode'];
+ // Get rid of new-old parameters for notification settings.
+ // These should only be set for those selected few who ran
+ // pve-manager from pvetest.
+ Proxmox.Utils.assemble_field_data(values, { 'delete': 'notification-policy' });
+ Proxmox.Utils.assemble_field_data(values, { 'delete': 'notification-target' });
if (!values.id && isCreate) {
values.id = 'backup-' + Ext.data.identifier.Uuid.Global.generate().slice(0, 13);
@@ -170,20 +152,14 @@ Ext.define('PVE.dc.BackupEdit', {
success: function(response, _options) {
let data = response.result.data;
- // 'mailnotification' is deprecated. Let's automatically
- // migrate to the compatible 'notification-policy' parameter
- if (data.mailnotification) {
- if (!data["notification-policy"]) {
- data["notification-policy"] = data.mailnotification;
- }
-
- delete data.mailnotification;
- }
-
- if (data['notification-target']) {
- data['notification-mode'] = 'notification-target';
- } else if (data.mailto) {
- data['notification-mode'] = 'mailto';
+ // Migrate 'new'-old notification-policy back to
+ // old-old mailnotification. Only should affect
+ // users who used pve-manager from pvetest.
+ // This was a remnant of notifications before the
+ // overhaul.
+ let policy = data['notification-policy'];
+ if (policy === 'always' || policy === 'failure') {
+ data.mailnotification = policy;
}
if (data.exclude) {
@@ -228,7 +204,6 @@ Ext.define('PVE.dc.BackupEdit', {
viewModel: {
data: {
selMode: 'include',
- notificationMode: 'notification-target',
},
formulas: {
@@ -327,44 +302,16 @@ Ext.define('PVE.dc.BackupEdit', {
{
xtype: 'pveEmailNotificationSelector',
fieldLabel: gettext('Notify'),
- name: 'notification-policy',
+ name: 'mailnotification',
cbind: {
value: (get) => get('isCreate') ? 'always' : '',
deleteEmpty: '{!isCreate}',
},
},
- {
- xtype: 'pveNotificationModeSelector',
- fieldLabel: gettext('Notify via'),
- name: 'notification-mode',
- bind: {
- value: '{notificationMode}',
- },
- },
- {
- xtype: 'pveNotificationTargetSelector',
- fieldLabel: gettext('Notification Target'),
- name: 'notification-target',
- allowBlank: true,
- editable: true,
- autoSelect: false,
- bind: {
- hidden: '{mailNotificationSelected}',
- disabled: '{mailNotificationSelected}',
- },
- cbind: {
- deleteEmpty: '{!isCreate}',
- },
- },
{
xtype: 'textfield',
fieldLabel: gettext('Send email to'),
name: 'mailto',
- hidden: true,
- bind: {
- hidden: '{!mailNotificationSelected}',
- disabled: '{!mailNotificationSelected}',
- },
},
{
xtype: 'pveBackupCompressionSelector',
diff --git a/www/manager6/form/NotificationPolicySelector.js b/www/manager6/form/NotificationPolicySelector.js
index 68087275..f318ea18 100644
--- a/www/manager6/form/NotificationPolicySelector.js
+++ b/www/manager6/form/NotificationPolicySelector.js
@@ -4,6 +4,5 @@ Ext.define('PVE.form.EmailNotificationSelector', {
comboItems: [
['always', gettext('Notify always')],
['failure', gettext('On failure only')],
- ['never', gettext('Notify never')],
],
});
diff --git a/www/manager6/window/Backup.js b/www/manager6/window/Backup.js
index 8e6fa77e..8d8c9ff0 100644
--- a/www/manager6/window/Backup.js
+++ b/www/manager6/window/Backup.js
@@ -30,32 +30,12 @@ Ext.define('PVE.window.Backup', {
name: 'mode',
});
- let notificationTargetSelector = Ext.create('PVE.form.NotificationTargetSelector', {
- fieldLabel: gettext('Notification target'),
- name: 'notification-target',
- emptyText: Proxmox.Utils.noneText,
- hidden: true,
- });
-
let mailtoField = Ext.create('Ext.form.field.Text', {
fieldLabel: gettext('Send email to'),
name: 'mailto',
emptyText: Proxmox.Utils.noneText,
});
- let notificationModeSelector = Ext.create('PVE.form.NotificationModeSelector', {
- fieldLabel: gettext('Notify via'),
- value: 'mailto',
- name: 'notification-mode',
- listeners: {
- change: function(f, v) {
- let mailSelected = v === 'mailto';
- notificationTargetSelector.setHidden(mailSelected);
- mailtoField.setHidden(!mailSelected);
- },
- },
- });
-
const keepNames = [
['keep-last', gettext('Keep Last')],
['keep-hourly', gettext('Keep Hourly')],
@@ -127,12 +107,6 @@ Ext.define('PVE.window.Backup', {
success: function(response, opts) {
const data = response.result.data;
- if (!initialDefaults && data['notification-mode'] !== undefined) {
- notificationModeSelector.setValue(data['notification-mode']);
- }
- if (!initialDefaults && data['notification-channel'] !== undefined) {
- notificationTargetSelector.setValue(data['notification-channel']);
- }
if (!initialDefaults && data.mailto !== undefined) {
mailtoField.setValue(data.mailto);
}
@@ -202,8 +176,6 @@ Ext.define('PVE.window.Backup', {
],
column2: [
compressionSelector,
- notificationModeSelector,
- notificationTargetSelector,
mailtoField,
removeCheckbox,
],
@@ -280,15 +252,10 @@ Ext.define('PVE.window.Backup', {
remove: values.remove,
};
- if (values.mailto && values['notification-mode'] === 'mailto') {
+ if (values.mailto) {
params.mailto = values.mailto;
}
- if (values['notification-target'] &&
- values['notification-mode'] === 'notification-target') {
- params['notification-target'] = values['notification-target'];
- }
-
if (values.compress) {
params.compress = values.compress;
}
--
2.39.2
More information about the pve-devel
mailing list