all lists on lists.proxmox.com
 help / color / mirror / Atom feed
* [PATCH proxmox-backup v3 03/10] ui: prune job: align prune edit window to other "Enable" checkboxes
@ 2026-10-09 14:54 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
                   ` (6 more replies)
  0 siblings, 7 replies; 9+ messages in thread
From: Jonas Theisen @ 2026-10-09 14:54 UTC (permalink / raw)
  To: pbs-devel

This commit aligns the already existing "Enabled" checkbox in
the Prune Job Edit window to the other checkboxes.

Meaning a reword from "Enabled" to "Enable" as it is more common
throghout the UI and the disabling of the schedule field if the
checkbox is off.

Signed-off-by: Jonas Theisen <j.theisen@proxmox.com>
---
 www/window/PruneJobEdit.js | 19 ++++++++++++++++++-
 1 file changed, 18 insertions(+), 1 deletion(-)

diff --git a/www/window/PruneJobEdit.js b/www/window/PruneJobEdit.js
index a3dafde21..2eb8c7129 100644
--- a/www/window/PruneJobEdit.js
+++ b/www/window/PruneJobEdit.js
@@ -43,6 +43,15 @@ Ext.define('PBS.window.PruneJobEdit', {
         },
     },
 
+    setValues: function (values) {
+        let me = this;
+
+        if (!values.schedule || values.schedule === '') {
+            values.disable = true;
+        }
+        me.callParent([values]);
+    },
+
     items: {
         xtype: 'inputpanel',
         onGetValues: function (values) {
@@ -118,11 +127,19 @@ Ext.define('PBS.window.PruneJobEdit', {
             },
             {
                 xtype: 'proxmoxcheckbox',
-                fieldLabel: gettext('Enabled'),
+                fieldLabel: gettext('Enable'),
                 name: 'enable',
                 uncheckedValue: 0,
                 defaultValue: 1,
                 checked: true,
+                listeners: {
+                    change: function (field, enabled) {
+                        let me = this;
+                        let view = me.up('pbsPruneJobEdit');
+                        let schedule = view.down('field[name=schedule]');
+                        schedule.setDisabled(!enabled);
+                    },
+                },
             },
         ],
 
-- 
2.47.3





^ permalink raw reply related	[flat|nested] 9+ messages in thread
* [PATCH proxmox{,-backup} v3 00/10] fix #7904: Implement Enable checkboxes for all jobs
@ 2026-10-09 14:53 Jonas Theisen
  2026-10-09 14:53 ` [PATCH proxmox-backup v3 03/10] ui: prune job: align prune edit window to other "Enable" checkboxes Jonas Theisen
  0 siblings, 1 reply; 9+ messages in thread
From: Jonas Theisen @ 2026-10-09 14:53 UTC (permalink / raw)
  To: pbs-devel

Goal of this patch series is to allow users to disable tasks
without having to remove their current schedule.
This was already possible for Prune jobs.

This can be used f.ex. to create jobs which are supposed to
be run only manually.

Backwards compatibiltiy was kept in mind so that existing
jobs wiithout schedules would not need manual intervention.
They will get updated and adapt the new scheme on the next
actual user change.

The "remove clear" patch is to be considered optional as it does not
interfere with the functionality of the checkboxes but was rather
added from a personal perspective that this would improve UX.

Thanks for the review and help off-list @c.ebner and @m.sandoval!

Also because of this feedback the patch series expanded by
a few patches to cover more cases and deliver more uniformity.

changes from v2:
 * inverted patches to use "disable" instead of "enable"
 * added API requirement to set disable if no schedule is set
 * fixed commit messages
 * moved default values from UI to API
 * aligned prune job config to other jobs to allow creation
   without schedule
 * added "Enable" checkboxes to the datastore creation window
 * added "prune-disable" parameter to the create datastore
   api endpoint

proxmox:

Jonas Theisen (2):
  fix #7904: Add 'disable' to {sync,verify,tape,gc} job schema and
    datastore config
  pbs-api-types: prune job: make schedule optional

 pbs-api-types/src/datastore.rs | 17 +++++++++++++++++
 pbs-api-types/src/jobs.rs      | 31 ++++++++++++++++++++++++++++++-
 2 files changed, 47 insertions(+), 1 deletion(-)


proxmox-backup:

Jonas Theisen (8):
  ui: prune job: align prune edit window to other "Enable" checkboxes
  api: prune job: align prune job schedule to other jobs
  fix #7904: api: implement "disable" for {sync,verify,tape,GC} jobs
  fix #7904: ui: job edit: introduce "Enable" checkbox for
    {sync,verify,tape,GC} jobs
  ui: improve visibility of disabled {sync,verify,tape,GC,prune} jobs on
    the overview page
  ui: calendar-event: remove clear button from calendar selector
  api: create datastore: allow creation without prune job
  ui: create datastore: add enable checkboxes for {GC, prune}

 src/api2/admin/datastore.rs                   |  1 +
 src/api2/admin/gc.rs                          | 12 ++-
 src/api2/admin/prune.rs                       |  2 +-
 src/api2/admin/sync.rs                        |  7 +-
 src/api2/admin/verify.rs                      |  7 +-
 src/api2/config/datastore.rs                  | 20 ++++-
 src/api2/config/prune.rs                      | 16 ++--
 src/api2/config/sync.rs                       | 18 ++++-
 src/api2/config/tape_backup_job.rs            |  9 ++-
 src/api2/config/verify.rs                     | 17 +++-
 src/api2/tape/backup.rs                       |  6 +-
 src/bin/proxmox-backup-proxy.rs               | 25 +++++-
 .../proxmox_backup_manager/migrate_config.rs  |  2 +-
 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/form/CalendarEvent.js                     | 19 -----
 www/tape/BackupJobs.js                        |  2 +
 www/tape/window/TapeBackupJob.js              | 40 +++++++++-
 www/window/DataStoreEdit.js                   | 77 ++++++++++++++++++-
 www/window/GCJobEdit.js                       | 52 +++++++++++--
 www/window/PruneJobEdit.js                    | 19 ++++-
 www/window/SyncJobEdit.js                     | 36 ++++++++-
 www/window/VerifyJobEdit.js                   | 40 +++++++++-
 26 files changed, 392 insertions(+), 54 deletions(-)


Summary over all repositories:
  28 files changed, 439 insertions(+), 55 deletions(-)

-- 
Generated by murpp 0.12.1




^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2026-10-09 14:55 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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 ` [PATCH proxmox-backup v3 07/10] ui: improve visibility of disabled {sync,verify,tape,GC,prune} jobs on the overview page Jonas Theisen
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
  -- strict thread matches above, loose matches on Subject: below --
2026-10-09 14:53 [PATCH proxmox{,-backup} v3 00/10] fix #7904: Implement Enable checkboxes for all jobs Jonas Theisen
2026-10-09 14:53 ` [PATCH proxmox-backup v3 03/10] ui: prune job: align prune edit window to other "Enable" checkboxes Jonas Theisen

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal