diff --git a/src/pretix/control/views/organizer.py b/src/pretix/control/views/organizer.py index 408805e7c7..0c26a0b2b5 100644 --- a/src/pretix/control/views/organizer.py +++ b/src/pretix/control/views/organizer.py @@ -3351,10 +3351,14 @@ class ReusableMediumCreateView(OrganizerDetailViewMixin, OrganizerPermissionRequ @transaction.atomic def form_valid(self, form): r = super().form_valid(form) - form.instance.log_action('pretix.reusable_medium.created', user=self.request.user, data={ + + data = { k: getattr(form.instance, k) for k in form.changed_data - }) + } + if "linked_orderpositions" in data: + data["linked_orderpositions"] = data["linked_orderpositions"].values_list("pk", flat=True) + form.instance.log_action('pretix.reusable_medium.created', user=self.request.user, data=data) messages.success(self.request, _('Your changes have been saved.')) return r @@ -3380,10 +3384,13 @@ class ReusableMediumUpdateView(OrganizerDetailViewMixin, OrganizerPermissionRequ @transaction.atomic def form_valid(self, form): if form.has_changed(): - self.object.log_action('pretix.reusable_medium.changed', user=self.request.user, data={ + data = { k: getattr(self.object, k) for k in form.changed_data - }) + } + if "linked_orderpositions" in data: + data["linked_orderpositions"] = data["linked_orderpositions"].values_list("pk", flat=True) + self.object.log_action('pretix.reusable_medium.changed', user=self.request.user, data=data) messages.success(self.request, _('Your changes have been saved.')) return super().form_valid(form)