Skip to content

PEOPLE: Austritt Mitgliedschaft #133

Closed
hitobito/hitobito
#2267
@mtnstar

Description

@mtnstar

Follow up zu diesem Issue: #141

blocked by: #150

Ein Mitglied hat die Möglichkeit einen Austritt aus einer Zusatzsektion oder auch einer Stammsektion selber vorzunehmen. Ausserdem kann der Mitgliederdienst der Geschäftsstelle oder der Sektion einen Austritt für eine Person vornehmen.

image

  • Ist bei einem Austritt aus einer Hauptsektion eine Zusatzsektion vorhanden, wird der Benutzer darauf hingewiesen das beide Mitgliedschaften terminiert werden
  • Button Austritt wird nur bei den aktiven Mitglieder-Rollen angezeigt (SektionsMitglieder::Mitglied)
  • Der Austritt erfolgt neu immer auf das bereits gesetzte Bis-Datum der Mitglied Rolle und kann nicht mehr wie im Mockup gezeigt selber ausgewählt werden

Mockups

Modal Austritt:

image

Anstatt Datepicker einfach nur das Enddatum der aktuellen Rolle anzeigen als Austrittsdatum (read-only)

Info unter Label Rolle

image

Tech-Spec

Core

  • Neues Class Attribute :terminatable auf Role
  • Neues Attribut auf Role: terminated, boolean, default: false
  • Ist eine aktive Role terminatable, so wird im Tab History auf der Person ein Button angezeigt
  • Inaktive und Künftige Rollen können nie terminiert werden
  • Neuer controller sowas wie Role::TerminationController
  • Eine Rolle kann auf ein beliebiges Datum bis 31.12 des Folgejahres in der Zukunft terminiert werden
    • Soll verhindern das jemand diese Terminierung auf in 10 Jahren setzt
  • übersetzter Standard Text im Bestätigungs-Modal
    • Dieser kann pro Rollen-Typ im Wagon customized werden und wird automatisch angezeigt falls eine entsprechende Translation vorhanden ist
  • Ist eine Rolle terminiert, wird dies auf der Rolle angezeigt.
    • Austritt per 1.4.2024, als Text bei der Rolle auf Person#info und in der Person#history Table
  • Eine bereits terminierte Rolle kann nicht nochmals terminiert werden (Button ausblenden)

Wagon

  • Personen-Tab Verlauf in Mitgliedschaften renamen falls User/Person :basic_permissions_only, sonst Verlauf belassen
  • ggf. sogar Alias in den Routes erstellen: /memberships anstatt /history, so wäre es auch in der URL sprechender aus Sicht des Mitglieds
  • Modal Text für Mitglieder Rolle SAC anpassen
    • Anstatt alle Zusatzmitgliedschafts-Rollen aufzulisten, Hinweis das bei Austritt Hauptmitgliedschaft auch alle Zusatzmitgliedschaften terminiert werden
    • Hinweis das der Austritt auch für alle Familienmitglieder gilt
    • Idealerweise kann der Text einfach so generisch gehalten werden sodass die View selber nicht im SAC Wagon customized werden muss und wir nur mit Custom Translations arbeiten können
  • Via after_update hook Role:
    • Alle Zusatzmitgliedschaften terminieren falls Hauptmitgliedschaft
    • Alle zugehörigen Mitgliedschaften der Familie terminieren falls Familie
  • Berechtigungen
    • Mitglied/Person darf aus eigener Mitgliedschaft austreten (implizit mit Familie und Zusatzmitgliedschaft falls Hauptsektion)
    • Verwalter/Person mit Schreibrechten auf der entsprechenden Rolle kann Austritt für eine Person vornehmen (z.B. für Rolle in der eigenen Sektion des Verwalters)

ToDo

  • Role model terminated attribut sowie class attribute erstellen
  • Neue Spalte sowie Button Austritt bei den Aktiven Rollen ergänzen
  • Neuer Controller TerminationController sowie views, modal fenster, usw.
  • Anzeige Austritt per unter Rollen-Label
  • Renamen/Alias memberships anstatt history
  • Anpassungen Modal-Text
  • SAC Role after update hooks
  • Manuelles Testen
  • Doku im Core updaten: https://github.com/hitobito/hitobito/tree/master/doc/modules
    • Neues module doku: people oder roles, class attribute dokumentieren
  • CHANGELOG entry im Core, Wagon

Metadata

Metadata

Assignees

No one assigned

    Labels

    CoreblockedWaiting for another issue to be finished before this can be continuedinterest-sac

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions