public inbox for pbs-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: Jonas Theisen <j.theisen@proxmox.com>
To: pbs-devel@lists.proxmox.com
Subject: [PATCH proxmox-backup v3 07/10] ui: improve visibility of disabled {sync,verify,tape,GC,prune} jobs on the overview page
Date: Fri,  9 Oct 2026 16:54:38 +0200	[thread overview]
Message-ID: <20261009145445.282494-5-j.theisen@proxmox.com> (raw)
In-Reply-To: <20261009145445.282494-1-j.theisen@proxmox.com>

This commit adds additional logic to prominently display if
a job was disabled on the respective overview page 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 backwords compatibility if no schedule is defined the fallback
is still None.

Signed-off-by: Jonas Theisen <j.theisen@proxmox.com>
---
 www/Utils.js             | 10 ++++++++++
 www/config/GCView.js     |  4 +++-
 www/config/PruneView.js  |  1 +
 www/config/SyncView.js   |  2 ++
 www/config/VerifyView.js |  2 ++
 www/tape/BackupJobs.js   |  2 ++
 6 files changed, 20 insertions(+), 1 deletion(-)

diff --git a/www/Utils.js b/www/Utils.js
index d6bfd459e..1d70e8d2a 100644
--- a/www/Utils.js
+++ b/www/Utils.js
@@ -335,6 +335,16 @@ Ext.define('PBS.Utils', {
         );
     },
 
+    render_schedule: function (val, metadat, record) {
+        if(record.data.disable === true) {
+            return gettext('Disabled');
+        }
+        if(val) {
+            return val;
+        }
+        return 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..b966fdf66 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',
@@ -73,6 +74,7 @@ Ext.define('PBS.config.GCJobView', {
                 datastore: data.store,
                 id: data.store,
                 schedule: data.schedule,
+                disable: data.disable,
                 listeners: {
                     destroy: () => this.reload(),
                 },
@@ -181,7 +183,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





  parent reply	other threads:[~2026-10-09 14:55 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-09 14:54 [PATCH proxmox-backup v3 03/10] ui: prune job: align prune edit window to other "Enable" checkboxes Jonas Theisen
2026-10-09 14:54 ` [PATCH proxmox-backup v3 04/10] api: prune job: align prune job schedule to other jobs Jonas Theisen
2026-10-09 14:54 ` [PATCH proxmox-backup v3 05/10] fix #7904: api: implement "disable" for {sync,verify,tape,GC} jobs Jonas Theisen
2026-10-09 14:54 ` [PATCH proxmox-backup v3 06/10] fix #7904: ui: job edit: introduce "Enable" checkbox " Jonas Theisen
2026-10-09 14:54 ` Jonas Theisen [this message]
2026-10-09 14:54 ` [PATCH proxmox-backup v3 08/10] ui: calendar-event: remove clear button from calendar selector Jonas Theisen
2026-10-09 14:54 ` [PATCH proxmox-backup v3 09/10] api: create datastore: allow creation without prune job Jonas Theisen
2026-10-09 14:54 ` [PATCH proxmox-backup v3 10/10] ui: create datastore: add enable checkboxes for {GC, prune} Jonas Theisen

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=20261009145445.282494-5-j.theisen@proxmox.com \
    --to=j.theisen@proxmox.com \
    --cc=pbs-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
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal