From 42490c6dec243faeb6d4236e24247a4e3f3ad158 Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Mon, 8 Jun 2020 16:20:50 +0200 Subject: [PATCH 1/2] New event series selection field --- src/pretix/control/forms/event.py | 5 --- .../events/create_foundation.html | 45 ++++++++++++++++++- .../static/pretixcontrol/scss/_forms.scss | 15 +++++++ 3 files changed, 59 insertions(+), 6 deletions(-) diff --git a/src/pretix/control/forms/event.py b/src/pretix/control/forms/event.py index 1de4b31671..b81093cf1e 100644 --- a/src/pretix/control/forms/event.py +++ b/src/pretix/control/forms/event.py @@ -47,11 +47,6 @@ class EventWizardFoundationForm(forms.Form): ) has_subevents = forms.BooleanField( label=_("This is an event series"), - help_text=_('Only recommended for advanced users. If this feature is enabled, this will not only be a ' - 'single event but a series of very similar events that are handled within a single shop. ' - 'The single events inside the series can only differ in date, time, location, prices and ' - 'quotas, but not in other settings, and buying tickets across multiple of these events at ' - 'the same time is possible. You cannot change this setting for this event later.'), required=False, ) diff --git a/src/pretix/control/templates/pretixcontrol/events/create_foundation.html b/src/pretix/control/templates/pretixcontrol/events/create_foundation.html index a673382c37..c8bfca40a2 100644 --- a/src/pretix/control/templates/pretixcontrol/events/create_foundation.html +++ b/src/pretix/control/templates/pretixcontrol/events/create_foundation.html @@ -3,8 +3,51 @@ {% load bootstrap3 %} {% block form %} {% bootstrap_field form.organizer layout="horizontal" %} +
+ +
+
+ +
+
+ +
+
+
{% bootstrap_field form.locales layout="horizontal" %} - {% bootstrap_field form.has_subevents layout="horizontal" %}

{% trans "Please note that you will only be able to delete your event until the first order has been created." %} diff --git a/src/pretix/static/pretixcontrol/scss/_forms.scss b/src/pretix/static/pretixcontrol/scss/_forms.scss index 561679f3f8..877a19712f 100644 --- a/src/pretix/static/pretixcontrol/scss/_forms.scss +++ b/src/pretix/static/pretixcontrol/scss/_forms.scss @@ -430,6 +430,21 @@ table td > .checkbox input[type="checkbox"] { } } } +.form-horizontal .big-radio { + border: 2px solid #ccc; + padding: 0; + border-radius: $border-radius-base; + label { + padding: 15px 15px 15px 30px; + } + + .help-block { + margin-bottom: 0; + } +} +.form-horizontal .big-radio:not(:last-child) { + margin-bottom: 15px; +} .accordion-radio { display: block; margin: 0; From 0c3a2003559a81fbc0f7bd7b92961bcb1280a48d Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Mon, 8 Jun 2020 16:22:11 +0200 Subject: [PATCH 2/2] Do not auto-create a first subevent --- src/pretix/control/forms/event.py | 1 + .../pretixcontrol/events/create_basics.html | 4 ++- src/pretix/control/views/main.py | 28 +++---------------- src/tests/control/test_events.py | 2 +- 4 files changed, 9 insertions(+), 26 deletions(-) diff --git a/src/pretix/control/forms/event.py b/src/pretix/control/forms/event.py index b81093cf1e..9018c28954 100644 --- a/src/pretix/control/forms/event.py +++ b/src/pretix/control/forms/event.py @@ -154,6 +154,7 @@ class EventWizardBasicsForm(I18nModelForm): if self.has_subevents: del self.fields['presale_start'] del self.fields['presale_end'] + del self.fields['date_to'] if self.has_control_rights(self.user, self.organizer): del self.fields['team'] diff --git a/src/pretix/control/templates/pretixcontrol/events/create_basics.html b/src/pretix/control/templates/pretixcontrol/events/create_basics.html index f2575d5f1a..4dcd3859f6 100644 --- a/src/pretix/control/templates/pretixcontrol/events/create_basics.html +++ b/src/pretix/control/templates/pretixcontrol/events/create_basics.html @@ -36,7 +36,9 @@ {% bootstrap_field form.date_from layout="control" %} - {% bootstrap_field form.date_to layout="control" %} + {% if form.date_to %} + {% bootstrap_field form.date_to layout="control" %} + {% endif %}

{% bootstrap_field form.location layout="control" %}
diff --git a/src/pretix/control/views/main.py b/src/pretix/control/views/main.py index a4637fc3b6..6785e83f3e 100644 --- a/src/pretix/control/views/main.py +++ b/src/pretix/control/views/main.py @@ -251,19 +251,6 @@ class EventWizard(SafeSessionWizardView): t.members.add(self.request.user) t.limit_events.add(event) - if event.has_subevents: - se = event.subevents.create( - name=event.name, - date_from=event.date_from, - date_to=event.date_to, - presale_start=event.presale_start, - presale_end=event.presale_end, - location=event.location, - geo_lat=event.geo_lat, - geo_lon=event.geo_lon, - active=True - ) - logdata = {} for f in form_list: logdata.update({ @@ -277,17 +264,10 @@ class EventWizard(SafeSessionWizardView): elif self.clone_from: event.copy_data_from(self.clone_from) else: - if 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 - ) + event.checkin_lists.create( + name=_('Default'), + all_products=True + ) event.set_defaults() if basics_data['tax_rate']: diff --git a/src/tests/control/test_events.py b/src/tests/control/test_events.py index 666e4bd5de..79c34eb2b4 100644 --- a/src/tests/control/test_events.py +++ b/src/tests/control/test_events.py @@ -655,7 +655,7 @@ class EventsTest(SoupTest): with scopes_disabled(): ev = Event.objects.get(slug='33c3') assert ev.has_subevents - assert ev.subevents.count() == 1 + assert ev.subevents.count() == 0 def test_create_event_copy_success(self): with scopes_disabled():