From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gate001.proxmox.com (gate001.proxmox.com [45.144.208.40]) by lore.proxmox.com (Postfix) with ESMTPS id 6AC5A1FF0EC for ; Thu, 22 Oct 2026 18:43:58 +0200 (CEST) Received: from gate001.proxmox.com (localhost.localdomain [127.0.0.1]) by gate001.proxmox.com (Proxmox) with ESMTP id CD6A3215F8; Thu, 22 Oct 2026 18:43:57 +0200 (CEST) From: Jonas Theisen To: pbs-devel@lists.proxmox.com Subject: [PATCH proxmox{,-backup} v4 0/9] fix #7904: Implement Enable checkboxes for all jobs Date: Thu, 22 Oct 2026 18:43:15 +0200 Message-ID: <20261022164343.353831-1-j.theisen@proxmox.com> X-Mailer: git-send-email 2.47.3 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1792687432163 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.124 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: 6BAKDCPRD4SET5U4V3BOFW3QKB7CA52T X-Message-ID-Hash: 6BAKDCPRD4SET5U4V3BOFW3QKB7CA52T 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: 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! Depends on: https://lore.proxmox.com/pbs-devel/20261014144357.771051-2-c.ebner@proxmox.com/ changes from v3: * dropped patches to add checkboxes in datastore creation ui and api * reworked patch messages * reused is_false function * reworked next_run calculation into compute_schedule_status using the disable parameter * rephrased schedule error message * integrated variable binding instead of listeners * integrated schema in pbs-api-types * fixed an issue with the Tape backup edit where the disabled flag was not removed on update * simplified schedule check by dropping unreachable condition * reworked the calendar-event patch to only hide the Clear button if the field does not allow blank proxmox: Jonas Theisen (2): pbs-api-types: 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 | 13 ++++++++++ pbs-api-types/src/jobs.rs | 43 +++++++++++++++++++++++++++------- 2 files changed, 48 insertions(+), 8 deletions(-) proxmox-backup: Jonas Theisen (7): server: schedules: add 'disable' parameter to compute_schedule_status() 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: add "Enable" checkbox to {sync,verify,tape,GC} job edit ui: job overview: show "Disabled" as schedule of disabled jobs ui: calendar-event: hide clear button if a schedule is required src/api2/admin/datastore.rs | 9 ++- src/api2/admin/prune.rs | 6 +- src/api2/admin/sync.rs | 3 +- src/api2/admin/verify.rs | 7 ++- src/api2/config/datastore.rs | 11 +++- src/api2/config/prune.rs | 16 ++++-- src/api2/config/sync.rs | 18 +++++- src/api2/config/tape_backup_job.rs | 17 +++++- src/api2/config/verify.rs | 17 +++++- src/api2/tape/backup.rs | 7 ++- src/bin/proxmox-backup-proxy.rs | 25 ++++++++- .../proxmox_backup_manager/migrate_config.rs | 2 +- src/server/jobstate.rs | 4 +- 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/form/CalendarEvent.js | 19 +++++-- www/tape/BackupJobs.js | 2 + www/tape/window/TapeBackupJob.js | 43 +++++++++++++- www/window/GCJobEdit.js | 56 +++++++++++++++++-- www/window/PruneJobEdit.js | 32 +++++++++-- www/window/SyncJobEdit.js | 39 ++++++++++++- www/window/VerifyJobEdit.js | 38 ++++++++++++- 25 files changed, 343 insertions(+), 43 deletions(-) Summary over all repositories: 27 files changed, 391 insertions(+), 51 deletions(-) -- Generated by murpp 0.12.1