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

@@ -72,6 +72,21 @@ def test_attributes_on_page(env, client):
r = client.get('/mrmcd/?attr[loc]=HH')
assert 'MRMCD2015' in r.rendered_content
with scopes_disabled():
series = env[0].events.create(
name="Workshop Series",
has_subevents=True,
live=True,
date_from=now() + timedelta(days=3)
)
se = series.subevents.create(name="Future", active=True, date_from=now() + timedelta(days=3))
se.meta_values.create(property=prop, value="B")
r = client.get('/mrmcd/?attr[loc]=B')
assert 'Workshop Series' in r.rendered_content
r = client.get('/mrmcd/?attr[loc]=MA')
assert 'Workshop Series' not in r.rendered_content
prop.filter_allowed = False
prop.save()
r = client.get('/mrmcd/?attr[loc]=MA')