API: Allow to filter events by attributes (#1466)

* Allow filtern events-ressource on API by attrs

* Document meta-data attr-filter for order resource

* Actually document the change and not some random other nonsensical thing...

* Doc for subevent-filtering

* Test for attr-filtering on events resource

* Allow attr-filtering on subevents

* Add attr-filter test for subevent

* Update doc/api/resources/subevents.rst

* Update src/tests/api/test_subevents.py

* Update doc/api/resources/events.rst
This commit is contained in:
Martin Gross
2019-10-25 17:04:20 +02:00
committed by Raphael Michel
parent 97fbec804b
commit ab0be57106
6 changed files with 48 additions and 3 deletions

View File

@@ -18,6 +18,7 @@ from pretix.base.models import (
)
from pretix.base.models.event import SubEvent
from pretix.helpers.dicts import merge_dicts
from pretix.presale.views.organizer import filter_qs_by_attr
with scopes_disabled():
class EventFilter(FilterSet):
@@ -85,6 +86,8 @@ class EventViewSet(viewsets.ModelViewSet):
organizer=self.request.organizer
)
qs = filter_qs_by_attr(qs, self.request)
return qs.prefetch_related(
'meta_values', 'meta_values__property', 'seat_category_mappings'
)
@@ -241,6 +244,9 @@ class SubEventViewSet(ConditionalListView, viewsets.ModelViewSet):
event__organizer=self.request.organizer,
event__in=self.request.user.get_events_with_any_permission()
)
qs = filter_qs_by_attr(qs, self.request)
return qs.prefetch_related(
'subeventitem_set', 'subeventitemvariation_set', 'seat_category_mappings'
)