Skip to content

Elternzugang 1-1: Verwalter*innen - Kind Beziehungen herstellen & Übersicht Familienbeziehung #1965

Closed
@ThomasEllenberger

Description

@ThomasEllenberger

Teilissue von #603:

User Story

Als Verwalter*in eines Kindes möchte ich mich nicht mit dem Kinderaccount einloggen müssen wenn ich Änderungen am Account des Kindes vornehmen muss, oder ein Kind für einen Kurs/Lager/Anlass anmelden möchte. Stattdessen möchte ich einen eigenen Verwalter*innen Account haben, mit welchem ich mich einloggen kann und von dem aus ich Änderungen für einen, oder mehrer Kinderaccounts vornehmen kann.

Als Leiter*in eines Vereins möchte ich als aktives Mitglied lediglich das Kind in meiner Teilnehmerliste sehen und nicht den Verwalter*innen Account. Dieser soll deshalb in einer anderen Gruppe und mit anderen Rollen geführt werden können, als der Kinderaccount. Lediglich ein Adressverwalter muss Zugriff auf die Verwalter*innen Accounts haben und diese entsprechend mit dem Kinderaccount verknüpfen können.

Dieses Grundinteresse wurde in Issue #603 diskutiert und zur Umsetzung in mehrere Tickets aufgeteilt. In diesem ersten Ticket geht es darum dass es möglich sein soll, als Addressverwalter*in zwei bereits existierende Accounts miteinander zu verknüpfen und zu definieren welches der Verwalter*innen Account und welches der Kinderaccount ist. In jedem Account soll es zudem eine Übersicht geben welche anderen Accounts mit dem eigenen verknüpft sind.

Anforderungen

Verwalter*innen - Kind Beziehungen herstellen

  • Damit Kinder ihrer/ihrem Verwalter*in zugewiesen werden können, erhält der/die Adressverwalter*in das Recht, diese Verbindung herzustellen.
  • Eine Verwalter*in-Kind-Beziehung darf nur von einem/r Adressverwalter*in hergestellt werden, welche/r Schreibzugriff auf den Kinderaccount hat. Nur so kann garantiert werden, dass der/die Adressverwalter*in bereits Lese- und Schreibzugriff auf den Kinder-Account hat und diese nicht via den Verwalter*innen-Account erhalten kann.
  • Sämtliche Personen welche Schreibzugriff auf eine Person haben dürfen dieser einen Verwalteraccount hinzufügen, mit der Ausnahme vom eigenen Account. Ich kann mich also nicht selbst unterordnen. Ein Verwalterinnen Account kann jedoch weitere Verwalterinnen Account hinzufügen. Damit muss man auf den Verwalter*innen Account nicht zwingend Schreibrechte haben, Personen können sich aber nicht zum Spass selbst Verwaltende hinzufügen.
  • Im ersten Schritt werden nur 1:1-Beziehungen abgebildet. Zwei Kinder eines/r Verwalters*in sind nicht zwingend Geschwister, zwei Verwalter*innen nicht unbedingt ein Elternpaar. Ebenso ist ein*e Verwalter*in nicht zwingend auch der/die Verwalter*in von Geschwistern ihres Kindes.
  • Verwalter*innen können Verbindungen zu ihnen zugewiesenen Kindern auf ihrem Account selbst löschen.
  • Kinder können Ihre Verwalter*innennicht löschen
  • Verwalter*innen können auf von ihnen verwalteten Kindern keine anderen Verwalter*innen Accounts löschen.
  • Ein/e Adressverantwortliche/r soll Verwalter*innen - Kind Beziehungen auflösen können, wenn er/sie Schreibzugriff auf entweder den Kinder- oder den Verwalter*innen Account besitzt.
  • Vor dem Erstellen einer Beziehung müssen beide Parteien bereits bestehen. Für Verwalter*innen und Kinder müssen also erst je ein Eintrag erstellt werden, bevor sie verbunden werden können.
  • Der Verwalter*innen Account muss dabei nicht zwingend irgendwo aktiv sein (ist, falls keine weiteren Rollen vorhanden, ein “Nicht-Mitglied” der Abteilung(en) der verwalteten Kinderaccounts).
  • Ein Verwalter*innen Account kann andere aktive Rollen auch in anderen Gruppen haben.
  • Der Kinderaccount muss nicht zwingend ein Login und somit auch nicht zwingend eine eigene aktive Emailadresse haben.
  • Als Überschrift zu den Beziehungen wird "Verwaltungsbeziehungen" verwenden unabhängig davon ob es sich um einen Kinderaccount oder einen Verwalter*innen Account handelt.

Sichtbarkeit Verwalter*innen Account:

  • Ausserhalb der Abteilung sind Verwalter*innen Account nicht sichtbar sofern sie keine anderen Rollen haben welche dies gewährleisten.
  • Sind Verwalter*innen Accounts aufgrund von anderen Rollen für Personen ausserhalb der Abteilung sichtbar. so ist für diese Personen nicht ersichtlich, dass es sich um einen Verwalter*innen Account handelt und welche Kinder dieser verwaltet.
  • Siehe Abgrenzungen unten.

Übersicht Familienbeziehung

  • Auf dem eigenen Profil ist ersichtlich welche anderen Accounts mit dem eigenen verknüpft sind.
  • Mit Links auf die anderen Accounts können diese direkt eingesehen werden, wenn man Schreibzugriff auf den Account hat.
  • Kinderaccounts sehen auch wer ihre Verwalter*innen Accounts sind.
  • Verwalter*innen Accounts welche die Basisdaten des Kindes einsehen können andere mit dem Kinderaccount verknüpfte Accounts nicht sehen und haben auch keine Ansichtsberechtigung auf diesen.
  • Es soll auf dem Kinderaccount einen Link zurück zum eigenen Verwalter*innen Account geben.
  • Abteilungsleiter*innen und Adressverantwortliche sehen sowohl auf dem Verwalter*innen Account wie auch auf dem Kinderaccount sämtliche verknüpften Accounts, unabhängig davon ob sie diese Accounts sehen können. steht im Widerspruch mit letztem Punkt von "Sichtbarkeit Verwalter*innen Account", da eine Verwaltungsperson zu 0, 1 oder beliebig vielen Abteilungen "gehören" (Rollen haben) und dort Kinder haben kann.
  • Alle Personen welche Schreibrechte auf einen Kinderaccount haben, dürfen die Verwaltungsbeziehungen dieses Accounts sehen.
  • Auf dem Verwalter*innen Account sind Kinderaccounts nur mit Namen ersichtlich, wenn man Leseberechtigung auf beiden Accounts hat (sowohl Verwalter*innen Account wie auch Kinderaccount).
  • Hat ein Verwalter*innen Account Kinder angehängt welche ich nicht sehen kann, wird dies auf diesem vermerkt in der Form von "3 Kinder sind nicht sichtbar".

Offene Fragen:

  1. Dürfen sämtliche Personen mit Schreibzugriff auf eine Person dieser einen Verwalteraccount zuweisen?
    Hier war im ursprünglichen Ticket die Rede davon, dass nur Adressverwalter und Abteilungsleitende die Verbindung herstellen dürfen. Diese Rollen gibt es jedoch nicht gleich in allen euren Umgebungen.
    Unser Ansatz wäre deshalb das jeder der Schreibzugriff auf eine Person hat, dieser auch einen Verwalteraccount hinzufügen kann.
    Verwalteraccounts löschen könnte man weiterhin nur auf dem Verwalteraccount. Das kann das Kind also nicht selbst, und ich kann auf von mir verwalteten Accounts auch keine anderen Verwalteraccounts löschen.
    Heisst jeder Account kann auch sich selber einen Verwalteraccount hinzufügen. Und wenn ich als Verwalter auf einen Account Zugriff habe, kann ich diesem Account auch weitere Verwalteraccounts hinzufügen.
  2. Verwalteraccounts sollen auf von ihnen verwalteten Accounts andere Verwalteraccounts nicht sehen können.
    Wir verstehen dieses Anliegen, allerdings fügt dies enorm viel Komplexität zu diesem Ticket hinzu und kann egal wie wir es anschauen immer irgendwie umgangen werden.
    Der Wunsch hierzu kam soviel mir ist davon, dass geschiedene Paare unter Umständen nicht sehen sollen, ob Ex-Partner o.ä. noch Verwalter-Zugriff auf ihre Kinder haben.
    Wenn ich als Verwalter jedoch Zugriff auf einen Kinderaccount habe, kann ich problemlos in dem eine andere Emailadresse hinterlegen, das Passwort zurücksetzen, mich als diesen Kinderaccount einloggen und sehe dann trotzdem alle Accounts welche Verwalter auf diesem Account sind.
    Dies können wir nicht verhindern falls auf verwalteten Accounts die Verwalteraccounts sichtbar sein sollen. (Was wir als sinnvoll erachten)
    Unser Vorschlag ist es deshalb dass auf verwalteten Accounts immer alle Verwalteraccounts sichtbar sind, für alle Personen welche den Kinderaccount sehen können. Auf den so aufgeführten Accounts soll jedoch nur ein Link zum entsprechenden Account hinterlegt sein, wenn ich auch Ansichtsrechte auf dem entsprechenden Account habe.
  3. Ist der Begriff Familienbeziehungen korrekt, da wir davon ausgehen, dass es auch nicht klassische Familien gibt, oder andere Verwalter*innen als die Familie?
    Wir würden diesen Begriff auf dem eigenen Profil verwenden als Überschrift über allen Accounts welche man verwaltet, oder von welchen man verwaltet wird.
  4. Kinder sollen für Leute von ausserhalb der Abteilung nicht sichtbar sein, welche den Verwalteraccount sehen.
    Wir würden dies so umsetzten, dass man verwaltete Accounts auf Verwalteraccounts grundsätzlich nur dann sieht, wenn man diese Kinderaccounts auch sonnst selbst sehen kann.
    Dadurch kann garantiert werden, dass niemand einen Kinderaccount auf diesem Weg sehen kann, der diesen nicht sonnst auch sehen könnte.
    (Kann aber dazu führen, dass ich als Regionsleiter nicht alle von einer Person verwalteten Kinder sehen kann, wenn diese Beispielsweise noch weitere Kinder in anderen Regionen hat.)

Abgrenzung:

  1. Verwalter sollen von ausserhalb der Abteilung nicht sichtbar sein.
    Dies hat nicht direkt mit dem Verwalter*innen Account zu tun, sondern mit der Rolle welche dieser Account hat.
    Hat der Account keine Rolle, ist er ohnehin nur für Personen sichtbar welche Personen ohne Rolle sehen können.
    Ansonsten ist es jeder Organisation selbst überlassen in welcher Gruppe und mit welcher Rolle diese Accounts verwaltet werden.
    Hier müssten wir bei speziellen Wünschen mit jeder Organisation einzeln schauen, wie das bei ihnen gelöst werden kann/soll und allenfalls spezifische Gruppentypen oder Rollen auf der Umgebung definieren.
  • Haben die Verwalter*innen eine Rolle? Wo? Wer sieht diese? -> konzipierte Antwort: Die Rollen der Verwalter*innen sind komplett egal. Sie können eine Rolle, mehrere Rollen, keine Rollen, nur Anlassteilnahmen etc. haben. Es ist den Verbänden überlassen, Konventionen für die Ablage von Eltern-Accounts zu schaffen, z.B. mit den internen Gremien der PBS. Achtung: Wenn Eltern keine Rollen haben und PERSON: Umgang mit nicht mehr verwendeten Benutzerdaten #1299 umgesetzt wird ohne die Verwalter*innen-Beziehung zu berücksichtigen, werden diese Eltern-Accounts irgendwann aufgeräumt.
  • Wie lösen wir es, dass Verwalter*innen Accounts keiner Gruppe angehören und keine Rollen haben müssen und von ausserhalb der Abteilung nicht sichtbar sind? -> konzipierte Antwort: siehe vorherige Frage
  • Wie setzen wir "Der Verwalter*innen Account muss dabei nicht zwingend irgendwo aktiv sein" um? Irgend in einem Gefäss müssen Verwalter*Innen Accounts ja geführt werden.... -> konzipierte Antwort: siehe vorherige Frage
  • Darf ein*e Adressverwalter*in auf einem Verwalter*innen Account eine Verknüpfung zu einem Kinderaccount sehen, auf welchen er/sie selbst sonnst keine Sicht hätte? -> konzipierte Antwort: Nein. Falls ein kantonaler Mitarbeiter Kinder in irgendeiner Ortsgruppe hat, geht das das kantonale Sekretariat nichts an. (Steht im Wiederspruch, dazu dass Adressverwalter sämtliche Personen sehen sollen, welche verwalten oder verwaltet werden. Ist das korrekt?)

Mockup

Sicht der mit dem eigenen Account verknüpften Accounts:
image
Soll für Kinderaccounts analog sein. Diese sehen am gleichen Ort einfach Ihre Verwalter*innen Accounts

Sicht des*r Adressverantwortliche*n beim verknüpfen von Accounts:
image

Tech-Spec

  • Umsetzung im youth Wagon
  • Im Text oben bedeutet Adressverwalter*in jeweils, dass man Schreibzugriff auf die betroffene(n) Person(en) haben muss.

ToDo

  • Migration und Datenbankbeziehung n-zu-n zwischen Person (managed) und Person (manager) erstellen
    • Standard-Übersetzung für manager: Verwalter*in
    • Standard-Übersetzung für managed: Kind
  • Validieren: Berechtigung zum Herstellen der Beziehung, siehe weiter unten bei der Beschreibung des Formulars
  • Validieren: Das Paar (manager_id, managed_id) muss unique sein, ich kann keine Verwalter*innen-Beziehung doppelt erstellen
  • Validieren: manager_id und managed_id müssen unterschiedlich sein, ein Kind darf sich nicht selber verwalten
  • Validieren: Wer managed ist darf keine anderen Personen managen, und umgekehrt. Man kann entweder Kinder oder Verwaltungspersonen haben, nicht beides gleichzeitig. Dies muss für beide Enden der hergestellten Verwaltungsbeziehung überprüft werden.
  • Bei den Personen-Attributen die Verwalter*innen und die Kinder anzeigen (achtung, im Mockup sind nur die Kinder eingebaut)
    • Die Verwalter*innen und Kinder der angezeigten Person werden nur aufgelistet, wenn der eingeloggte User Schreibzugriff auf die angezeigte Person hat (can(:update, person))
    • Angezeigte Kinder und Verwalter*innen verlinken, falls der eingeloggte User can(:show, related_person) auf diese hat, ansonsten nur den Namen anzeigen. Mit format_attr müsste das automatisch passieren.
  • Im Personen-Formular zwei neue Inputs (nested fields) für Verwalter*innen und Kinder hinzufügen, UI ungefähr wie beim Feld "Geschwister" aus dem Core (achtung, die PBS hat eine zusätzliche Checkbox die ebenfalls Geschwister benannt ist, diese ist nicht gemeint). Achtung, das Mockup zeigt dies noch anders an. Es sollte einfacher sein, wenn wir zwei separate nested forms machen.
    • Beim Hinzufügen von Verwaltern gelten folgende Bedingungen:
      • Das Personensuchfeld soll beliebige, auch gelöschte Personen liefern, gleich wie beim Hinzufügen von existierenden Personen in meine Gruppe
      • Ich kann keine anderen Verwalter*innen entfernen wenn ich nur via Verwaltungsbeziehung Schreibzugriff auf das Kind habe. Nur meine eigene Verwaltungsbeziehung zum Kind kann ich löschen. => Wird in 1-2 erledigt
      • Falls ich mich selber bearbeite, darf ich die Verwalter*innen nicht bearbeiten. Am einfachsten mal das nested form gar nicht erst anzeigen, und diese nested_fields nur konditional zu den permitted_attrs hinzufügen (möglicherweise muss dafür die Methode permitted_params vom CrudController überschrieben werden)
    • Beim Hinzufügen von Kindern gelten folgende Bedingungen:
      • Das Personensuchfeld soll nur Personen liefern, auf welche der eingeloggte User Schreibzugriff hat (oder welche Kinder der eingeloggten Person sind).
  • Nach dem Speichern von neuen Beziehungen soll eine bestätigende Flash Message angezeigt werden
  • Änderungen an den Verwaltungsbeziehungen sollen im Log des Kindes wie auch der Verwaltungsperson sichtbar sein
  • Beim Mergen von Duplikaten müssen alle Verwalter-Kinder-Beziehungen gemerged werden. Duplizierte Beziehungen (z.B. beide Personeneinträge sind Verwalterinnen desselben Kindes) können dedupliziert werden.
  • Specs schreiben
    • Eingeloggter User ist Adressverwaltung
    • Eingeloggter User ist bestehende*r Verwalter*in (sich selber bearbeiten)
    • Eingeloggter User ist bestehende*r Verwalter*in (bestehendes Kind bearbeiten)
    • Eingeloggter User ist neue*r Verwalter*in (sich selber bearbeiten)
    • Eingeloggter User ist neue*r Verwalter*in (zukünftiges Kind bearbeiten)
    • Eingeloggter User ist neues Kind (sich selber bearbeiten und Beziehung herstellen)
  • Kunde wegen Übersetzungen informieren
  • Mit angemessenen Rollen "durchklicken"
  • CHANGELOG-Eintrag unter "unreleased" unten hinzufügen

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions