Mitarbeiter auf der Ebene FO sollten mit der Rolle Mitarbeiter/ Kassier auch in "ohne Rollen" suchen können. Aktuell können nur Admins Personen "ohne Rollen" über die globale Suche finden.
Achtung: Die Mitarbeiter und Kassier sollen dabei nur die Personen ohne Rollen innerhalb der eigenen FO finden. Personen welche die letzte Rolle in einer anderen FO hatten, sollen nicht gefunden werden. In dieser Hinsicht unterscheidet sich diese neue Fähigkeit von der bisherigen Fähigkeit von Admins.
⚠️ Achtung beim Testen auf Integration: Die Liste von überhaupt auffindbaren Personen wird für 15 Minuten gecached. Also wenn eine Person "gelöscht" wird, kann erst 15 Minuten nach der letzten Suche getestet werden, ob die gelöschte Person in der Suche wirklich noch sichtbar ist.
Tech-Spec
- Umsetzung im Core, da sich das Feature verallgemeinern lässt und keine Zugriffserweiterung darstellt (es ist primär ein bequemerer Weg, gelöschte Personen zu finden, welche man sowieso schon finden könnte)
- Die Permissions
:layer_full bzw. :layer_and_below_full vergeben bisher den Zugang auf die "Ohne Rollen"-Ansicht
- An denselben Permissions können wir daher diese Fähigkeit aufhängen
- Die Ohne-Rollen-Ansicht wird im DeletedPeopleController generiert
- Man braucht die
:index_deleted_people Ability um diese Ansicht zu sehen
- Admins haben die
:show Ability auf den gelöschten Personen, aber nicht :show_details oder :show_full. So können sie nur die Kontaktangaben der gelöschten Personen einsehen:

- Diese Informationen sind mehr oder weniger dieselben wie man auch auf der Ohne-Rollen-Ansicht sehen kann:

- Wir können den berechtigten Personen in den Layers also ebenfalls die
:show Permission auf ihren "Ohne Rollen" Personen vergeben, ohne das Berechtigungssystem gross auszuweiten
TODO
Mitarbeiter auf der Ebene FO sollten mit der Rolle Mitarbeiter/ Kassier auch in "ohne Rollen" suchen können. Aktuell können nur Admins Personen "ohne Rollen" über die globale Suche finden.
Achtung: Die Mitarbeiter und Kassier sollen dabei nur die Personen ohne Rollen innerhalb der eigenen FO finden. Personen welche die letzte Rolle in einer anderen FO hatten, sollen nicht gefunden werden. In dieser Hinsicht unterscheidet sich diese neue Fähigkeit von der bisherigen Fähigkeit von Admins.
Tech-Spec
:layer_fullbzw.:layer_and_below_fullvergeben bisher den Zugang auf die "Ohne Rollen"-Ansicht:index_deleted_peopleAbility um diese Ansicht zu sehen:showAbility auf den gelöschten Personen, aber nicht:show_detailsoder:show_full. So können sie nur die Kontaktangaben der gelöschten Personen einsehen::showPermission auf ihren "Ohne Rollen" Personen vergeben, ohne das Berechtigungssystem gross auszuweitenTODO
ifneuen Code einfügen, der alle Grupen dercurrent_personholt, aus diesen Gruppen die Layers berechnet, und diese nachcan(:index_deleted_people, layer)filtertidshinzufügen (Group::DeletedPeople.deleted_for(layer).pluck(:id)oder so ähnlich):showBerechtigung auf den gelöschten Personen vergebenpermission(:layer_full).may(:show).deleted_people_in_same_layerpermission(:layer_and_below_full).may(:show).deleted_people_in_same_layer_or_belowpermission(:foo).may(:bar)hat tatsächlich einen Effekt:deleted_peoplein der Ability muss neu geschrieben werdenGroup::DeletedPeopleberechnetGroup::DeletedPeople.deleted_for(group)gefunden werden würde. Das ist unter Umständen nicht ganz trivial, weil alte gelöschte Rollen durch neue, inzwischen wieder gültige Rollen übersteuert werden können.