Skip to content

EVENTS: Teilnehmer einladen, Teilnahme annehmen/ablehnen #1276

@mtnstar

Description

@mtnstar

Es soll möglich sein, Teilnehmer zu einem Event einzuladen. Die Teilnehmer
müssen dann die Einladung entweder annehmen oder ablehnen.

  • Neues Tab auf Event 'Einladungen'
    • Liste mit eingeladenen Personen und Antwort auf Einladung
    • Einladung hat folgende Stati: angenommen (participation existiert), abgelehnt (declined_at gesetzt), offen
  • Eine Einladung wird automatisch auf Status 'angenommen' geändert, sobald eine Teilnahme (participation) erstellt wird
    • Dabei spielt es keine Rolle, welchen Status die Einladung vorher hatte
    • Es spielt in diesem Fall auch keine Rolle, falls der participation_type nicht übereinstimmt
  • Eine Einladung kann nur erstellt/bearbeitet werden solange eine Anmeldung an einen Event möglich ist
  • Vorerst braucht es keine automatisierte Notification per E-Mail wenn ein Teilnehmer eingeladen wird
  • Auf Event Info (event#show) wird dem Benutzer ein Banner angezeigt wenn dieser eine offene Einladung hat
  • Falls einfach möglich, auf pers. Profil bei den eigenenen Events anzeigen das man zu einem Event eingeladen ist und die Einladung noch bestätigen muss
  • Es soll möglich sein, mehrere Personen auf einmal als eingeladen hinzuzufügen (Massen-Einladung auf Personen Tab Gruppe). Wird mit EVENTS: Mehrere Personen gleichzeitig einladen #1279 umgesetzt

Mockup

Tab 'Einladungen' mit Liste der eingeladenen Personen sowie Antworten

image

Nachricht auf Event wenn Person eingeladen:

image

Tech-Spec

  • Neues Model Events::Invitation
    • Datenmodel/migration:
      • belongs_to: event, not null
      • belongs_to: person, not null
      • participation_type: string, not null (geplante Event::Role)
      • declined_at: datetime
      • unique index: event_id, person_id
      • index: person_id
    • Events::Invitation#status
      • accepted (participation existiert)
      • declined (declined_at gesetzt)
      • open
    • Person.has_many :events_invitations
    • Event.has_many :events_invitations
  • Neuer Controller Events::InvitationsController
    • eingebunden als Tab auf dem Event (app/helpers/sheet/event.rb)
    • GET #new Formular für neue Einladung, Personensuche mit Event::Role-Dropdown
    • POST #create erstellt eine neue Einladung für das Event
    • #new und #create nur möglich, wenn Event#application_possible
    • GET #index listet alle Einladungen eines Events auf
  • Neuer Controller Events::Invitations::DeclineController
    • Decline ändert nur den Status der Einladung, löscht sie aber nicht, daher eigener Controller
    • POST #create setzt declined_at auf Einladung (Button Ablehnen)
    • Beim Abmelden werden eventuelle Event::Applications zurückgezogen. (:warning: nicht alle Wagons nutzen das)
  • Button 'Anmelden' zeigt auf Event Anmelden (participation wird erstellt)
    • Beim Anmelden werden Event::Applications auch zu Event::Participations
    • Button nur anbieten, wenn Event#application_possible ist
  • Banner mit Buttons auf Event anzeigen, wenn man eine Einladung hat (siehe Mockup)
  • Liste der offenen Einladungen auch auf eigener Personenansicht (:warning: nur, wenn es einfach ist. wenn es aufwendig wird, in eigenes Ticket extrahieren.)
  • CHANGELOG-Eintrag

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions