From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gate001.proxmox.com (gate001.proxmox.com [IPv6:2a0f:8001:1:32::40]) by lore.proxmox.com (Postfix) with ESMTPS id 8346D1FF0DD for ; Thu, 22 Oct 2026 18:44:25 +0200 (CEST) Received: from gate001.proxmox.com (localhost.localdomain [127.0.0.1]) by gate001.proxmox.com (Proxmox) with ESMTP id 544312165B; Thu, 22 Oct 2026 18:44:25 +0200 (CEST) From: Jonas Theisen To: pbs-devel@lists.proxmox.com Subject: [PATCH proxmox-backup v4 8/9] ui: job overview: show "Disabled" as schedule of disabled jobs Date: Thu, 22 Oct 2026 18:43:23 +0200 Message-ID: <20261022164343.353831-9-j.theisen@proxmox.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20261022164343.353831-1-j.theisen@proxmox.com> References: <20261022164343.353831-1-j.theisen@proxmox.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1792687458504 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.117 Adjusted score from AWL reputation of From: address DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment (newer systems) RCVD_IN_DNSWL_MED -2.3 Sender listed at https://www.dnswl.org/, medium trust SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Message-ID-Hash: 4DUW5KUOPSI2NNRROW7A3QKRHGNHILQH X-Message-ID-Hash: 4DUW5KUOPSI2NNRROW7A3QKRHGNHILQH X-MailFrom: j.theisen@proxmox.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Proxmox Backup Server development discussion List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: This commit adds additional logic to prominently display if a job was disabled on the respective overview page of sync, verify, tape backup, GC and prune jobs by introducing a new renderer. If the job is disabled the text "Disabled" is shown instead of the schedule which is still present in the config file. For backwards compatibility if no schedule is defined the fallback is still "none". Signed-off-by: Jonas Theisen --- www/Utils.js | 7 +++++++ www/config/GCView.js | 3 ++- www/config/PruneView.js | 1 + www/config/SyncView.js | 2 ++ www/config/VerifyView.js | 2 ++ www/tape/BackupJobs.js | 2 ++ 6 files changed, 16 insertions(+), 1 deletion(-) diff --git a/www/Utils.js b/www/Utils.js index d6bfd459e..a67fabf53 100644 --- a/www/Utils.js +++ b/www/Utils.js @@ -335,6 +335,13 @@ Ext.define('PBS.Utils', { ); }, + render_schedule: function (value, metaData, record) { + if (record.data.disable === true) { + return Proxmox.Utils.disabledText; + } + return value ? value : Proxmox.Utils.NoneText; + }, + get_help_tool: function (blockid) { let info = Proxmox.Utils.get_help_info(blockid); if (info === undefined) { diff --git a/www/config/GCView.js b/www/config/GCView.js index 9fcc22344..533109bd7 100644 --- a/www/config/GCView.js +++ b/www/config/GCView.js @@ -5,6 +5,7 @@ Ext.define('pbs-gc-jobs-status', { 'upid', 'removed-bytes', 'pending-bytes', + 'disable', 'schedule', 'next-run', 'last-run-endtime', @@ -181,7 +182,7 @@ Ext.define('PBS.config.GCJobView', { header: gettext('Schedule'), dataIndex: 'schedule', hideable: false, - renderer: (value) => (value ? value : Proxmox.Utils.NoneText), + renderer: PBS.Utils.render_schedule, minWidth: 85, flex: 1, }, diff --git a/www/config/PruneView.js b/www/config/PruneView.js index f38724687..c6fb750c7 100644 --- a/www/config/PruneView.js +++ b/www/config/PruneView.js @@ -234,6 +234,7 @@ Ext.define('PBS.config.PruneJobView', { minWidth: 80, flex: 1, sortable: true, + renderer: PBS.Utils.render_schedule, }, { text: gettext('Keep'), diff --git a/www/config/SyncView.js b/www/config/SyncView.js index 386489120..499c5f2e2 100644 --- a/www/config/SyncView.js +++ b/www/config/SyncView.js @@ -8,6 +8,7 @@ Ext.define('pbs-sync-jobs-status', { 'remote-ns', 'store', 'ns', + 'disable', 'schedule', 'group-filter', 'next-run', @@ -395,6 +396,7 @@ Ext.define('PBS.config.SyncJobView', { minWidth: 80, flex: 1, sortable: true, + renderer: PBS.Utils.render_schedule, }, { header: gettext('Last Sync'), diff --git a/www/config/VerifyView.js b/www/config/VerifyView.js index 2c63f0d79..7b72e7a35 100644 --- a/www/config/VerifyView.js +++ b/www/config/VerifyView.js @@ -5,6 +5,7 @@ Ext.define('pbs-verify-jobs-status', { 'store', 'outdated-after', 'ignore-verified', + 'disable', 'schedule', 'next-run', 'last-run-upid', @@ -253,6 +254,7 @@ Ext.define('PBS.config.VerifyJobView', { maxWidth: 220, minWidth: 80, flex: 1, + renderer: PBS.Utils.render_schedule, }, { header: gettext('Last Verification'), diff --git a/www/tape/BackupJobs.js b/www/tape/BackupJobs.js index 68d808af5..7e36ad4d2 100644 --- a/www/tape/BackupJobs.js +++ b/www/tape/BackupJobs.js @@ -7,6 +7,7 @@ Ext.define('pbs-tape-backup-job-status', { 'drive', 'store', 'schedule', + 'disable', 'comment', 'group-filter', { name: 'eject-media', type: 'boolean' }, @@ -259,6 +260,7 @@ Ext.define('PBS.config.TapeBackupJobView', { minWidth: 80, flex: 1, sortable: true, + renderer: PBS.Utils.render_schedule, }, { header: gettext('Last Backup'), -- 2.47.3