Add public filters based on meta data (#3673)

* Add public filters based on meta data

* Fix licenseheaders

* ignore empty values

* Fix tests

* Full non-widget implementation

* Widget support

* Add a few tests

* Allow to reorder properties

* Fix isort

* Allow to opt-out for specific events

* Fix name clash between new and old field to make migration feasible
This commit is contained in:
Raphael Michel
2023-11-10 12:10:01 +01:00
committed by GitHub
parent c0007a9566
commit d7aa94d6ae
34 changed files with 829 additions and 82 deletions

View File

@@ -198,6 +198,10 @@ def test_event_list_filter(token_client, organizer, event):
resp = token_client.get('/api/v1/organizers/{}/events/?attr[type]='.format(organizer.slug))
assert resp.status_code == 200
assert resp.data['count'] == 1
resp = token_client.get('/api/v1/organizers/{}/events/?attr[type]=Unknown'.format(organizer.slug))
assert resp.status_code == 200
assert resp.data['count'] == 0
resp = token_client.get('/api/v1/organizers/{}/events/?date_from_after=2017-12-27T10:00:00Z'.format(organizer.slug))
@@ -231,7 +235,10 @@ def test_event_get(token_client, organizer, event):
@pytest.mark.django_db
def test_event_create(team, token_client, organizer, event, meta_prop):
meta_prop.allowed_values = "Conference\nWorkshop"
meta_prop.choices = [
{"key": "Conference", "label": {"en": "Conference"}},
{"key": "Workshop", "label": {"en": "Workshop"}},
]
meta_prop.save()
team.can_change_organizer_settings = False
team.save()

View File

@@ -256,7 +256,7 @@ def test_all_subevents_list_filter(token_client, organizer, event, subevent):
@pytest.mark.django_db
def test_subevent_create(team, token_client, organizer, event, subevent, meta_prop, item):
meta_prop.allowed_values = "Conference\nWorkshop"
meta_prop.choices = [{"key": "Conference", "label": {"en": "Conference"}}, {"key": "Workshop", "label": {"en": "Workshop"}}]
meta_prop.save()
team.can_change_organizer_settings = False
team.save()