forked from CGM_Public/pretix_original
code style
This commit is contained in:
@@ -82,8 +82,10 @@ class WaitingListEntryEditForm(I18nModelForm):
|
|||||||
|
|
||||||
items = self.event.items.prefetch_related('variations').prefetch_related('quotas')
|
items = self.event.items.prefetch_related('variations').prefetch_related('quotas')
|
||||||
for item in items:
|
for item in items:
|
||||||
if not item.allow_waitinglist | item.quotas.exists(): # don't offer items in the selection if they don't allow waitinglists or aren't on sale at all
|
# don't offer items in the selection if they don't allow waitinglists or aren't on sale at all
|
||||||
if not self.instance.item.pk == item.pk: # except if they are currently set in the waitinglist, this will be then caught on submit in the clean step
|
if not item.allow_waitinglist | item.quotas.exists():
|
||||||
|
# except if they are currently set in the waitinglist, this will be then caught on submit in the clean step
|
||||||
|
if not self.instance.item.pk == item.pk:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
if len(item.variations.all()) > 0:
|
if len(item.variations.all()) > 0:
|
||||||
|
|||||||
@@ -478,7 +478,7 @@ urlpatterns = [
|
|||||||
name='event.orders.waitinglist.delete'),
|
name='event.orders.waitinglist.delete'),
|
||||||
re_path(r'^waitinglist/(?P<entry>\d+)/edit$', waitinglist.EntryEdit.as_view(),
|
re_path(r'^waitinglist/(?P<entry>\d+)/edit$', waitinglist.EntryEdit.as_view(),
|
||||||
name='event.orders.waitinglist.edit'),
|
name='event.orders.waitinglist.edit'),
|
||||||
re_path(r'^waitinglist/(?P<entry>\d+)/transfer$', waitinglist.EntryEdit.as_view(), # alias of /edit
|
re_path(r'^waitinglist/(?P<entry>\d+)/transfer$', waitinglist.EntryEdit.as_view(), # alias of /edit
|
||||||
name='event.orders.waitinglist.edit'),
|
name='event.orders.waitinglist.edit'),
|
||||||
re_path(r'^checkins/$', checkin.CheckinListView.as_view(), name='event.orders.checkins'),
|
re_path(r'^checkins/$', checkin.CheckinListView.as_view(), name='event.orders.checkins'),
|
||||||
re_path(r'^checkinlists/$', checkin.CheckinListList.as_view(), name='event.orders.checkinlists'),
|
re_path(r'^checkinlists/$', checkin.CheckinListList.as_view(), name='event.orders.checkinlists'),
|
||||||
|
|||||||
@@ -53,9 +53,7 @@ from pretix.base.models import Item, LogEntry, Quota, WaitingListEntry
|
|||||||
from pretix.base.models.waitinglist import WaitingListException
|
from pretix.base.models.waitinglist import WaitingListException
|
||||||
from pretix.base.services.waitinglist import assign_automatically
|
from pretix.base.services.waitinglist import assign_automatically
|
||||||
from pretix.base.views.tasks import AsyncAction
|
from pretix.base.views.tasks import AsyncAction
|
||||||
from pretix.control.forms.waitinglist import (
|
from pretix.control.forms.waitinglist import WaitingListEntryEditForm
|
||||||
WaitingListEntryEditForm,
|
|
||||||
)
|
|
||||||
from pretix.control.permissions import EventPermissionRequiredMixin
|
from pretix.control.permissions import EventPermissionRequiredMixin
|
||||||
from pretix.control.views import PaginationMixin
|
from pretix.control.views import PaginationMixin
|
||||||
|
|
||||||
@@ -401,6 +399,7 @@ class EntryDelete(EventPermissionRequiredMixin, CompatDeleteView):
|
|||||||
'organizer': self.request.event.organizer.slug
|
'organizer': self.request.event.organizer.slug
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
class EntryEdit(EventPermissionRequiredMixin, UpdateView):
|
class EntryEdit(EventPermissionRequiredMixin, UpdateView):
|
||||||
model = WaitingListEntry
|
model = WaitingListEntry
|
||||||
template_name = 'pretixcontrol/waitinglist/edit.html'
|
template_name = 'pretixcontrol/waitinglist/edit.html'
|
||||||
|
|||||||
@@ -56,11 +56,8 @@ def env():
|
|||||||
event.settings.set('waiting_list_names_asked', False)
|
event.settings.set('waiting_list_names_asked', False)
|
||||||
event.settings.set('waiting_list_names_required', False)
|
event.settings.set('waiting_list_names_required', False)
|
||||||
user = User.objects.create_user('dummy@dummy.dummy', 'dummy')
|
user = User.objects.create_user('dummy@dummy.dummy', 'dummy')
|
||||||
item1 = Item.objects.create(event=event, name="Ticket", default_price=23,
|
item1 = Item.objects.create(event=event, name="Ticket", default_price=23, admission=True, allow_waitinglist=True)
|
||||||
admission=True, allow_waitinglist=True)
|
item2 = Item.objects.create(event=event, name="Ticket", default_price=23, admission=True)
|
||||||
item2 = Item.objects.create(event=event, name="Ticket", default_price=23,
|
|
||||||
admission=True)
|
|
||||||
|
|
||||||
|
|
||||||
for i in range(5):
|
for i in range(5):
|
||||||
WaitingListEntry.objects.create(
|
WaitingListEntry.objects.create(
|
||||||
@@ -198,8 +195,7 @@ def test_delete_bulk(client, env):
|
|||||||
@pytest.mark.django_db
|
@pytest.mark.django_db
|
||||||
def test_edit(client, env):
|
def test_edit(client, env):
|
||||||
event = env[0]
|
event = env[0]
|
||||||
item = Item.objects.create(event=event, name="Ticket", default_price=23,
|
item = Item.objects.create(event=event, name="Ticket", default_price=23, admission=True, allow_waitinglist=True)
|
||||||
admission=True, allow_waitinglist=True)
|
|
||||||
quota = Quota.objects.create(event=event)
|
quota = Quota.objects.create(event=event)
|
||||||
quota.items.add(item)
|
quota.items.add(item)
|
||||||
|
|
||||||
@@ -221,12 +217,12 @@ def test_edit(client, env):
|
|||||||
)
|
)
|
||||||
assert response.wsgi_request.path == '/control/event/dummy/dummy/waitinglist/'
|
assert response.wsgi_request.path == '/control/event/dummy/dummy/waitinglist/'
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.django_db
|
@pytest.mark.django_db
|
||||||
def test_edit_itemvariation(client, env):
|
def test_edit_itemvariation(client, env):
|
||||||
event = env[0]
|
event = env[0]
|
||||||
|
|
||||||
item = Item.objects.create(event=event, name="Ticket", default_price=23,
|
item = Item.objects.create(event=event, name="Ticket", default_price=23, admission=True, allow_waitinglist=True)
|
||||||
admission=True, allow_waitinglist=True)
|
|
||||||
variation = ItemVariation.objects.create(item=item)
|
variation = ItemVariation.objects.create(item=item)
|
||||||
quota = Quota.objects.create(event=event)
|
quota = Quota.objects.create(event=event)
|
||||||
quota.items.add(item)
|
quota.items.add(item)
|
||||||
@@ -257,8 +253,7 @@ def test_edit_itemvariation(client, env):
|
|||||||
def test_edit_voucher_send_out(client, env):
|
def test_edit_voucher_send_out(client, env):
|
||||||
event = env[0]
|
event = env[0]
|
||||||
|
|
||||||
item = Item.objects.create(event=event, name="Ticket", default_price=23,
|
item = Item.objects.create(event=event, name="Ticket", default_price=23, admission=True, allow_waitinglist=True)
|
||||||
admission=True, allow_waitinglist=True)
|
|
||||||
|
|
||||||
quota = Quota.objects.create(event=event, size=100)
|
quota = Quota.objects.create(event=event, size=100)
|
||||||
quota.items.add(item)
|
quota.items.add(item)
|
||||||
@@ -281,13 +276,12 @@ def test_edit_voucher_send_out(client, env):
|
|||||||
)
|
)
|
||||||
assert response.status_code == 404
|
assert response.status_code == 404
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.django_db
|
@pytest.mark.django_db
|
||||||
def test_edit_item_without_waitinglist(client, env):
|
def test_edit_item_without_waitinglist(client, env):
|
||||||
event = env[0]
|
event = env[0]
|
||||||
item = Item.objects.create(event=event, name="Ticket", default_price=23,
|
item = Item.objects.create(event=event, name="Ticket", default_price=23, admission=True, allow_waitinglist=True)
|
||||||
admission=True, allow_waitinglist=True)
|
item_without_waitinglist = Item.objects.create(event=event, name="Ticket", default_price=23, admission=True, allow_waitinglist=False)
|
||||||
item_without_waitinglist = Item.objects.create(event=event, name="Ticket", default_price=23,
|
|
||||||
admission=True, allow_waitinglist=False)
|
|
||||||
quota = Quota.objects.create(event=event)
|
quota = Quota.objects.create(event=event)
|
||||||
quota.items.add(item)
|
quota.items.add(item)
|
||||||
quota.items.add(item_without_waitinglist)
|
quota.items.add(item_without_waitinglist)
|
||||||
@@ -310,17 +304,15 @@ def test_edit_item_without_waitinglist(client, env):
|
|||||||
)
|
)
|
||||||
assert response.context['form'].errors == {'itemvar': ["The selected product does not allow waiting list entries."]}
|
assert response.context['form'].errors == {'itemvar': ["The selected product does not allow waiting list entries."]}
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.django_db
|
@pytest.mark.django_db
|
||||||
def test_edit_item_without_quota(client, env):
|
def test_edit_item_without_quota(client, env):
|
||||||
event = env[0]
|
event = env[0]
|
||||||
item = Item.objects.create(event=event, name="Ticket", default_price=23,
|
item = Item.objects.create(event=event, name="Ticket", default_price=23, admission=True, allow_waitinglist=True)
|
||||||
admission=True, allow_waitinglist=True)
|
item_without_waitinglist = Item.objects.create(event=event, name="Ticket", default_price=23, admission=True, allow_waitinglist=True)
|
||||||
item_without_waitinglist = Item.objects.create(event=event, name="Ticket", default_price=23,
|
|
||||||
admission=True, allow_waitinglist=True)
|
|
||||||
quota = Quota.objects.create(event=event)
|
quota = Quota.objects.create(event=event)
|
||||||
quota.items.add(item)
|
quota.items.add(item)
|
||||||
|
|
||||||
|
|
||||||
client.login(email='dummy@dummy.dummy', password='dummy')
|
client.login(email='dummy@dummy.dummy', password='dummy')
|
||||||
with scopes_disabled():
|
with scopes_disabled():
|
||||||
wle = WaitingListEntry.objects.create(
|
wle = WaitingListEntry.objects.create(
|
||||||
@@ -339,6 +331,7 @@ def test_edit_item_without_quota(client, env):
|
|||||||
)
|
)
|
||||||
assert response.context['form'].errors == {'itemvar': ["The selected product is not on sale because there is no quota configured for it."]}
|
assert response.context['form'].errors == {'itemvar': ["The selected product is not on sale because there is no quota configured for it."]}
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.django_db
|
@pytest.mark.django_db
|
||||||
def test_dashboard(client, env):
|
def test_dashboard(client, env):
|
||||||
with scopes_disabled():
|
with scopes_disabled():
|
||||||
|
|||||||
Reference in New Issue
Block a user