Add Event.set_defaults

This commit is contained in:
Raphael Michel
2019-12-06 20:24:34 +01:00
parent a74bde60eb
commit fff14c31ba
3 changed files with 19 additions and 10 deletions

View File

@@ -133,6 +133,7 @@ class EventViewSet(viewsets.ModelViewSet):
def perform_create(self, serializer):
serializer.save(organizer=self.request.organizer)
serializer.instance.set_defaults()
serializer.instance.log_action(
'pretix.event.added',
user=self.request.user,

View File

@@ -363,6 +363,12 @@ class Event(EventMixin, LoggedModel):
def __str__(self):
return str(self.name)
def set_defaults(self):
"""
This will be called after event creation, but only if the event was not created by copying an existing one.
This way, we can use this to introduce new default settings to pretix that do not affect existing events.
"""
@property
def social_image(self):
from pretix.multidomain.urlreverse import build_absolute_uri

View File

@@ -267,17 +267,19 @@ class EventWizard(SafeSessionWizardView):
event.copy_data_from(from_event)
elif self.clone_from:
event.copy_data_from(self.clone_from)
elif event.has_subevents:
event.checkin_lists.create(
name=str(se),
all_products=True,
subevent=se
)
else:
event.checkin_lists.create(
name=_('Default'),
all_products=True
)
if event.has_subevents:
event.checkin_lists.create(
name=str(se),
all_products=True,
subevent=se
)
else:
self.checkin_lists.create(
name=_('Default'),
all_products=True
)
event.set_defaults()
if basics_data['tax_rate']:
if not event.settings.tax_rate_default or event.settings.tax_rate_default.rate != basics_data['tax_rate']: