diff --git a/src/pretix/control/views/event.py b/src/pretix/control/views/event.py index 12e71af84..9f9badb7e 100644 --- a/src/pretix/control/views/event.py +++ b/src/pretix/control/views/event.py @@ -243,12 +243,8 @@ class EventUpdate(DecoupleMixin, EventSettingsViewMixin, EventPermissionRequired } meta_changed = {} for f in self.meta_forms: - meta_changed.update({ - k: (f.cleaned_data.get(k).name - if isinstance(f.cleaned_data.get(k), File) - else f.cleaned_data.get(k)) - for k in f.changed_data - }) + if f.has_changed(): + meta_changed[f.property.name] = f.cleaned_data["value"] if meta_changed: change_data['meta_data'] = meta_changed if change_data: diff --git a/src/pretix/control/views/item.py b/src/pretix/control/views/item.py index 179b8cd09..f55f678c0 100644 --- a/src/pretix/control/views/item.py +++ b/src/pretix/control/views/item.py @@ -1447,12 +1447,8 @@ class ItemUpdateGeneral(ItemDetailMixin, EventPermissionRequiredMixin, MetaDataE meta_changed = {} for f in self.meta_forms: - meta_changed.update({ - k: (f.cleaned_data.get(k).name - if isinstance(f.cleaned_data.get(k), File) - else f.cleaned_data.get(k)) - for k in f.changed_data - }) + if f.has_changed(): + meta_changed[f.property.name] = f.cleaned_data["value"] if meta_changed: change_data['meta_data'] = meta_changed diff --git a/src/pretix/control/views/subevents.py b/src/pretix/control/views/subevents.py index 7f4cce9d6..a25ec4f57 100644 --- a/src/pretix/control/views/subevents.py +++ b/src/pretix/control/views/subevents.py @@ -549,12 +549,8 @@ class SubEventUpdate(EventPermissionRequiredMixin, SubEventEditorMixin, UpdateVi } meta_changed = {} for f in self.meta_forms: - meta_changed.update({ - k: (f.cleaned_data.get(k).name - if isinstance(f.cleaned_data.get(k), File) - else f.cleaned_data.get(k)) - for k in f.changed_data - }) + if f.has_changed(): + meta_changed[f.property.name] = f.cleaned_data["value"] if meta_changed: change_data['meta_data'] = meta_changed for f in self.plugin_forms: @@ -646,12 +642,8 @@ class SubEventCreate(SubEventEditorMixin, EventPermissionRequiredMixin, CreateVi meta_changed = {} for f in self.meta_forms: - meta_changed.update({ - k: (f.cleaned_data.get(k).name - if isinstance(f.cleaned_data.get(k), File) - else f.cleaned_data.get(k)) - for k in f.cleaned_data - }) + if f.has_changed(): + meta_changed[f.property.name] = f.cleaned_data["value"] if meta_changed: data['meta_data'] = meta_changed