From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <l.wagner@proxmox.com>
Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by lists.proxmox.com (Postfix) with ESMTPS id F12ED99B2D
 for <pve-devel@lists.proxmox.com>; Tue, 14 Nov 2023 14:00:38 +0100 (CET)
Received: from firstgate.proxmox.com (localhost [127.0.0.1])
 by firstgate.proxmox.com (Proxmox) with ESMTP id 02CBC30181
 for <pve-devel@lists.proxmox.com>; Tue, 14 Nov 2023 14:00:25 +0100 (CET)
Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com
 [94.136.29.106])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by firstgate.proxmox.com (Proxmox) with ESMTPS
 for <pve-devel@lists.proxmox.com>; Tue, 14 Nov 2023 14:00:20 +0100 (CET)
Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1])
 by proxmox-new.maurer-it.com (Proxmox) with ESMTP id 7B8EB429EE
 for <pve-devel@lists.proxmox.com>; Tue, 14 Nov 2023 14:00:18 +0100 (CET)
From: Lukas Wagner <l.wagner@proxmox.com>
To: pve-devel@lists.proxmox.com
Date: Tue, 14 Nov 2023 13:59:39 +0100
Message-Id: <20231114130000.565122-32-l.wagner@proxmox.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20231114130000.565122-1-l.wagner@proxmox.com>
References: <20231114130000.565122-1-l.wagner@proxmox.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-SPAM-LEVEL: Spam detection results:  0
 AWL -0.012 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DMARC_MISSING             0.1 Missing DMARC policy
 KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment
 SPF_HELO_NONE           0.001 SPF: HELO does not publish an SPF Record
 SPF_PASS               -0.001 SPF: sender matches SPF record
 T_SCC_BODY_TEXT_LINE    -0.01 -
Subject: [pve-devel] [PATCH v2 pve-manager 31/52] ui: vzdump: remove
 left-overs from target/policy based notifications
X-BeenThere: pve-devel@lists.proxmox.com
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Proxmox VE development discussion <pve-devel.lists.proxmox.com>
List-Unsubscribe: <https://lists.proxmox.com/cgi-bin/mailman/options/pve-devel>, 
 <mailto:pve-devel-request@lists.proxmox.com?subject=unsubscribe>
List-Archive: <http://lists.proxmox.com/pipermail/pve-devel/>
List-Post: <mailto:pve-devel@lists.proxmox.com>
List-Help: <mailto:pve-devel-request@lists.proxmox.com?subject=help>
List-Subscribe: <https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel>, 
 <mailto:pve-devel-request@lists.proxmox.com?subject=subscribe>
X-List-Received-Date: Tue, 14 Nov 2023 13:00:39 -0000

Signed-off-by: Lukas Wagner <l.wagner@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