mirror of
https://github.com/pretix/pretix.git
synced 2026-08-04 09:47:50 +00:00
API: Disable endpoints that should have never existed
This commit is contained in:
@@ -45,6 +45,7 @@ from rest_framework.exceptions import (
|
||||
NotFound, PermissionDenied, ValidationError,
|
||||
)
|
||||
from rest_framework.generics import get_object_or_404
|
||||
from rest_framework.mixins import UpdateModelMixin
|
||||
from rest_framework.response import Response
|
||||
|
||||
from pretix.api.auth.permission import EventCRUDPermission
|
||||
@@ -711,7 +712,7 @@ class SeatFilter(FilterSet):
|
||||
fields = ('zone_name', 'row_name', 'row_label', 'seat_number', 'seat_label', 'seat_guid', 'blocked',)
|
||||
|
||||
|
||||
class SeatViewSet(ConditionalListView, viewsets.ModelViewSet):
|
||||
class SeatViewSet(ConditionalListView, UpdateModelMixin, viewsets.ReadOnlyModelViewSet):
|
||||
serializer_class = SeatSerializer
|
||||
queryset = Seat.objects.none()
|
||||
write_permission = 'event.settings.general:write'
|
||||
|
||||
@@ -1164,6 +1164,22 @@ def test_event_update_seating(token_client, organizer, event, item, seatingplan)
|
||||
assert all(seat['product'] == item.pk for seat in resp.data['results'])
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_event_no_create_or_delete_seats(token_client, organizer, event, item, seatingplan):
|
||||
resp = token_client.post(
|
||||
'/api/v1/organizers/{}/events/{}/seats/'.format(organizer.slug, event.slug),
|
||||
{
|
||||
'blocked': False,
|
||||
},
|
||||
format='json'
|
||||
)
|
||||
assert resp.status_code == 405
|
||||
resp = token_client.delete(
|
||||
'/api/v1/organizers/{}/events/{}/seats/3/'.format(organizer.slug, event.slug),
|
||||
)
|
||||
assert resp.status_code == 405
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_event_update_seating_invalid_product(token_client, organizer, event, item, seatingplan):
|
||||
resp = token_client.patch(
|
||||
|
||||
Reference in New Issue
Block a user