diff --git a/doc/development/implementation/logging.rst b/doc/development/implementation/logging.rst index f68efd9471..5c9c8a3bbd 100644 --- a/doc/development/implementation/logging.rst +++ b/doc/development/implementation/logging.rst @@ -29,7 +29,7 @@ Logging form actions A very common use case is to log the changes to a model that have been done in a ``ModelForm``. In this case, we generally use a custom ``form_valid`` method on our ``FormView`` that looks like this:: - @transaction.atomic() + @transaction.atomic def form_valid(self, form): if form.has_changed(): self.request.event.log_action('pretix.event.changed', user=self.request.user, data={ @@ -40,7 +40,7 @@ we generally use a custom ``form_valid`` method on our ``FormView`` that looks l It gets a little bit more complicated if your form allows file uploads:: - @transaction.atomic() + @transaction.atomic def form_valid(self, form): if form.has_changed(): self.request.event.log_action( diff --git a/src/pretix/base/services/locking.py b/src/pretix/base/services/locking.py index ebdf5ca5a3..565df6ed23 100644 --- a/src/pretix/base/services/locking.py +++ b/src/pretix/base/services/locking.py @@ -80,7 +80,7 @@ def lock_event_db(event): raise EventLock.LockTimeoutException() -@transaction.atomic() +@transaction.atomic def release_event_db(event): if not hasattr(event, '_lock') or not event._lock: raise EventLock.LockReleaseException('Lock is not owned by this thread') diff --git a/src/pretix/base/services/orders.py b/src/pretix/base/services/orders.py index a1ec0d91fa..cdb2ca0731 100644 --- a/src/pretix/base/services/orders.py +++ b/src/pretix/base/services/orders.py @@ -258,7 +258,7 @@ def _check_positions(event: Event, now_dt: datetime, positions: List[CartPositio raise OrderError(err) -@transaction.atomic() +@transaction.atomic def _create_order(event: Event, email: str, positions: List[CartPosition], now_dt: datetime, payment_provider: BasePaymentProvider, locale: str=None): total = sum([c.price for c in positions]) diff --git a/src/pretix/control/views/event.py b/src/pretix/control/views/event.py index 6842d6f174..c621648c90 100644 --- a/src/pretix/control/views/event.py +++ b/src/pretix/control/views/event.py @@ -57,7 +57,7 @@ class EventUpdate(EventPermissionRequiredMixin, UpdateView): context['sform'] = self.sform return context - @transaction.atomic() + @transaction.atomic def form_valid(self, form): self.sform.save() if self.sform.has_changed(): @@ -187,7 +187,7 @@ class PaymentSettings(EventPermissionRequiredMixin, TemplateView, SingleObjectMi context['providers'] = self.provider_forms return self.render_to_response(context) - @transaction.atomic() + @transaction.atomic def post(self, request, *args, **kwargs): self.object = self.get_object() success = self.sform.is_valid() @@ -234,7 +234,7 @@ class EventSettingsFormView(EventPermissionRequiredMixin, FormView): kwargs['obj'] = self.request.event return kwargs - @transaction.atomic() + @transaction.atomic def post(self, request, *args, **kwargs): form = self.get_form() if form.is_valid(): @@ -279,7 +279,7 @@ class DisplaySettings(EventSettingsFormView): 'event': self.request.event.slug }) - @transaction.atomic() + @transaction.atomic def post(self, request, *args, **kwargs): form = self.get_form() if form.is_valid(): @@ -314,7 +314,7 @@ class MailSettings(EventSettingsFormView): 'event': self.request.event.slug }) - @transaction.atomic() + @transaction.atomic def post(self, request, *args, **kwargs): form = self.get_form() if form.is_valid(): @@ -374,7 +374,7 @@ class TicketSettings(EventPermissionRequiredMixin, FormView): form.prepare_fields() return form - @transaction.atomic() + @transaction.atomic def post(self, request, *args, **kwargs): success = True for provider in self.provider_forms: @@ -470,7 +470,7 @@ class EventPermissions(EventPermissionRequiredMixin, TemplateView): ctx['add_form'] = self.add_form return ctx - @transaction.atomic() + @transaction.atomic def post(self, *args, **kwargs): if self.formset.is_valid() and self.add_form.is_valid(): if self.add_form.has_changed(): diff --git a/src/pretix/control/views/item.py b/src/pretix/control/views/item.py index 3a5d278da2..d817c7e6f2 100644 --- a/src/pretix/control/views/item.py +++ b/src/pretix/control/views/item.py @@ -99,7 +99,7 @@ class CategoryDelete(EventPermissionRequiredMixin, DeleteView): except ItemCategory.DoesNotExist: raise Http404(_("The requested product category does not exist.")) - @transaction.atomic() + @transaction.atomic def delete(self, request, *args, **kwargs): self.object = self.get_object() for item in self.object.items.all(): @@ -134,7 +134,7 @@ class CategoryUpdate(EventPermissionRequiredMixin, UpdateView): except ItemCategory.DoesNotExist: raise Http404(_("The requested product category does not exist.")) - @transaction.atomic() + @transaction.atomic def form_valid(self, form): messages.success(self.request, _('Your changes have been saved.')) if form.has_changed(): @@ -165,7 +165,7 @@ class CategoryCreate(EventPermissionRequiredMixin, CreateView): 'event': self.request.event.slug, }) - @transaction.atomic() + @transaction.atomic def form_valid(self, form): form.instance.event = self.request.event messages.success(self.request, _('The new category has been created.')) @@ -299,7 +299,7 @@ class QuestionDelete(EventPermissionRequiredMixin, DeleteView): context['dependent'] = list(self.get_object().items.all()) return context - @transaction.atomic() + @transaction.atomic def delete(self, request, *args, **kwargs): self.object = self.get_object() success_url = self.get_success_url() @@ -390,7 +390,7 @@ class QuestionUpdate(EventPermissionRequiredMixin, QuestionMixin, UpdateView): except Question.DoesNotExist: raise Http404(_("The requested question does not exist.")) - @transaction.atomic() + @transaction.atomic def form_valid(self, form): if form.cleaned_data.get('type') in ('M', 'C'): if not self.save_formset(self.get_object()): @@ -433,7 +433,7 @@ class QuestionCreate(EventPermissionRequiredMixin, QuestionMixin, CreateView): def get_object(self, **kwargs): return None - @transaction.atomic() + @transaction.atomic def form_valid(self, form): if form.cleaned_data.get('type') in ('M', 'C'): if not self.formset.is_valid(): @@ -480,7 +480,7 @@ class QuotaEditorMixin: item.field = self.get_form(QuotaForm)['item_%s' % item.id] return context - @transaction.atomic() + @transaction.atomic def form_valid(self, form): res = super().form_valid(form) items = self.object.items.all() @@ -516,7 +516,7 @@ class QuotaCreate(EventPermissionRequiredMixin, QuotaEditorMixin, CreateView): 'event': self.request.event.slug, }) - @transaction.atomic() + @transaction.atomic def form_valid(self, form): form.instance.event = self.request.event messages.success(self.request, _('The new quota has been created.')) @@ -540,7 +540,7 @@ class QuotaUpdate(EventPermissionRequiredMixin, QuotaEditorMixin, UpdateView): except Quota.DoesNotExist: raise Http404(_("The requested quota does not exist.")) - @transaction.atomic() + @transaction.atomic def form_valid(self, form): messages.success(self.request, _('Your changes have been saved.')) if form.has_changed(): @@ -577,7 +577,7 @@ class QuotaDelete(EventPermissionRequiredMixin, DeleteView): context['dependent'] = list(self.get_object().items.all()) return context - @transaction.atomic() + @transaction.atomic def delete(self, request, *args, **kwargs): self.object = self.get_object() success_url = self.get_success_url() @@ -621,7 +621,7 @@ class ItemCreate(EventPermissionRequiredMixin, CreateView): 'item': self.object.id, }) - @transaction.atomic() + @transaction.atomic def form_valid(self, form): messages.success(self.request, _('Your changes have been saved.')) ret = super().form_valid(form) @@ -655,7 +655,7 @@ class ItemUpdateGeneral(ItemDetailMixin, EventPermissionRequiredMixin, UpdateVie 'item': self.get_object().id, }) - @transaction.atomic() + @transaction.atomic def form_valid(self, form): messages.success(self.request, _('Your changes have been saved.')) if form.has_changed(): diff --git a/src/pretix/control/views/vouchers.py b/src/pretix/control/views/vouchers.py index 66a3e3789d..2f1f502075 100644 --- a/src/pretix/control/views/vouchers.py +++ b/src/pretix/control/views/vouchers.py @@ -126,7 +126,7 @@ class VoucherDelete(EventPermissionRequiredMixin, DeleteView): return HttpResponseRedirect(self.get_success_url()) return super().get(request, *args, **kwargs) - @transaction.atomic() + @transaction.atomic def delete(self, request, *args, **kwargs): self.object = self.get_object() success_url = self.get_success_url() @@ -168,7 +168,7 @@ class VoucherUpdate(EventPermissionRequiredMixin, UpdateView): except Voucher.DoesNotExist: raise Http404(_("The requested voucher does not exist.")) - @transaction.atomic() + @transaction.atomic def form_valid(self, form): messages.success(self.request, _('Your changes have been saved.')) if form.has_changed(): @@ -210,7 +210,7 @@ class VoucherCreate(EventPermissionRequiredMixin, CreateView): kwargs['instance'] = Voucher(event=self.request.event) return kwargs - @transaction.atomic() + @transaction.atomic def form_valid(self, form): form.instance.event = self.request.event messages.success(self.request, _('The new voucher has been created.')) @@ -241,7 +241,7 @@ class VoucherBulkCreate(EventPermissionRequiredMixin, CreateView): kwargs['instance'] = Voucher(event=self.request.event) return kwargs - @transaction.atomic() + @transaction.atomic def form_valid(self, form): for o in form.save(self.request.event): o.log_action('pretix.voucher.added', data=form.cleaned_data, user=self.request.user)