From ae2e747e46e9ad8afa361ef5e451b5c302444fa8 Mon Sep 17 00:00:00 2001 From: Mira Weller Date: Thu, 17 Jul 2025 17:29:51 +0200 Subject: [PATCH] disallow cancelling in_flight jobs --- src/pretix/control/views/datasync.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/pretix/control/views/datasync.py b/src/pretix/control/views/datasync.py index 5b6741e062..4af2de19de 100644 --- a/src/pretix/control/views/datasync.py +++ b/src/pretix/control/views/datasync.py @@ -79,8 +79,11 @@ class ControlSyncJob(OrderView): messages.success(self.request, _('The sync job has been enqueued and will run in the next minutes.')) elif self.request.POST.get("cancel_job"): job = self.order.queued_sync_jobs.get(pk=self.request.POST.get("cancel_job")) - job.delete() - messages.success(self.request, _('The sync job has been canceled.')) + if job.in_flight: + messages.warning(self.request, _('The sync job is already in progress.')) + else: + job.delete() + messages.success(self.request, _('The sync job has been canceled.')) elif self.request.POST.get("run_job_now"): job = self.order.queued_sync_jobs.get(pk=self.request.POST.get("run_job_now")) job.not_before = now()