diff --git a/src/pretix/control/forms/waitinglist.py b/src/pretix/control/forms/waitinglist.py index f5e124911b..fd245da72b 100644 --- a/src/pretix/control/forms/waitinglist.py +++ b/src/pretix/control/forms/waitinglist.py @@ -90,6 +90,7 @@ class WaitingListEntryEditForm(I18nModelForm): ) self.fields['name_parts'].required = self.event.settings.waiting_list_names_required + self.fields['name_parts'].one_required = self.event.settings.waiting_list_names_required self.fields['phone'].required = self.event.settings.waiting_list_phones_required choices = [] diff --git a/src/tests/control/test_waitinglist.py b/src/tests/control/test_waitinglist.py index ea92dae2c9..857f4d4987 100644 --- a/src/tests/control/test_waitinglist.py +++ b/src/tests/control/test_waitinglist.py @@ -52,6 +52,8 @@ def env(): date_from=now(), plugins='pretix.plugins.banktransfer,tests.testdummy' ) event.settings.set('ticketoutput_testdummy__enabled', True) + event.settings.set('waiting_list_names_asked', False) + event.settings.set('waiting_list_names_required', False) user = User.objects.create_user('dummy@dummy.dummy', 'dummy') item1 = Item.objects.create(event=event, name="Ticket", default_price=23, admission=True) @@ -190,6 +192,20 @@ def test_delete_bulk(client, env): with scopes_disabled(): WaitingListEntry.objects.get(id=wle.id) +@pytest.mark.django_db +def test_edit(client, env): + client.login(email='dummy@dummy.dummy', password='dummy') + with scopes_disabled(): + wle = WaitingListEntry.objects.first() + assert not wle.email.startswith("1_") + + client.post('/control/event/dummy/dummy/waitinglist/%s/edit' % (wle.id), data={ + "email": f"1_{wle.email}", "itemvar": wle.item.pk + }) + wle.refresh_from_db() + + assert wle.email.startswith('1_') + @pytest.mark.django_db def test_dashboard(client, env): @@ -197,5 +213,7 @@ def test_dashboard(client, env): quota = Quota.objects.create(name="Test", size=2, event=env[0]) quota.items.add(env[3]) w = waitinglist_widgets(env[0]) + assert '1' in w[0]['content'] assert '5' in w[1]['content'] +