Event settings: Extend product metadata (Z#23116647) (#3241)

Co-authored-by: Richard Schreiber <schreiber@rami.io>
Co-authored-by: Raphael Michel <michel@rami.io>
This commit is contained in:
Phin Wolkwitz
2023-05-26 14:09:41 +02:00
committed by GitHub
parent 7801d06d17
commit b3298c91c3
16 changed files with 541 additions and 36 deletions

View File

@@ -282,9 +282,19 @@ class EventUpdate(DecoupleMixin, EventSettingsViewMixin, EventPermissionRequired
if form in self.item_meta_property_formset.deleted_forms:
if not form.instance.pk:
continue
form.instance.log_action(
'pretix.event.item_meta_property.deleted',
user=self.request.user,
data=form.cleaned_data
)
form.instance.delete()
form.instance.pk = None
elif form.has_changed():
form.instance.log_action(
'pretix.event.item_meta_property.changed',
user=self.request.user,
data=form.cleaned_data
)
form.save()
for form in self.item_meta_property_formset.extra_forms:
@@ -294,6 +304,11 @@ class EventUpdate(DecoupleMixin, EventSettingsViewMixin, EventPermissionRequired
continue
form.instance.event = obj
form.save()
form.instance.log_action(
'pretix.event.item_meta_property.added',
user=self.request.user,
data=form.cleaned_data
)
@cached_property
def confirm_texts_formset(self):

View File

@@ -1213,7 +1213,7 @@ class MetaDataEditorMixin:
f.instance.delete()
class ItemCreate(EventPermissionRequiredMixin, CreateView):
class ItemCreate(EventPermissionRequiredMixin, MetaDataEditorMixin, CreateView):
form_class = ItemCreateForm
template_name = 'pretixcontrol/item/create.html'
permission = 'can_change_items'
@@ -1274,6 +1274,11 @@ class ItemCreate(EventPermissionRequiredMixin, CreateView):
messages.error(self.request, _('We could not save your changes. See below for details.'))
return super().form_invalid(form)
def get_context_data(self, **kwargs):
ctx = super().get_context_data()
ctx['meta_forms'] = self.meta_forms
return ctx
class ItemUpdateGeneral(ItemDetailMixin, EventPermissionRequiredMixin, MetaDataEditorMixin, UpdateView):
form_class = ItemUpdateForm