Skip to content

Tourenliste Filter Grundlagen #2366

@sync-by-unito

Description

@sync-by-unito

Im Rahmen des TVS sind ausführliche Filtermöglichkeiten für Touren vorgesehen. Damit diese nachhaltig entwickelt werden können, benötigen wir im Hitobito Core eine solide, wiederverwendbare Grundlage. Wir entkoppeln die Domainlogik zum Filtern der DB Einträge von der Darstellung im Frontend. Insbesondere soll es möglich sein, dieselbe Domainlogik (bzw. Teile davon) für verschiedene Darstellung wiederzuverwenden (Gruppe > Anlässe/Kurse/Touren; Verfügbare Kurse; öffentliches Tourenprogramm).

Bei den Personenfiltern besteht bereits die Grundlage, um mächtige Filterstrukturen abzubilden. Diese soll verallgemeinert werden, damit auch Events gefiltert werden können.

Das bestehende, rudimentäre Event::Filter soll dabei ersetzt werden. Die Events::FilteredList, welche in der Ansicht “Verfügbare Kurse” (Hauptnavigation links) verwendet wird, wird idealerweise ebenfalls abgelöst. Das bestehende Frontend für “Verfügbare Kurse” bleibt erhalten, soll aber mit den neuen Eventfiltern funktionieren. Damit wird auch die Base Klasse FilteredList hinfällig.

Damit die Performance gewährleistet werden kann, soll ausserdem analog zu PersonReadables ein EventReadables eingeführt werden, damit nicht die :show Berechtigung für jeden Event in einer Liste einzeln geprüft werden muss (aktuell in EventsController#visible_entries=> ersetzen).

┆Issue is synchronized with this Jira Story by Unito

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions