hitobito/hitobito_sac_cas

EVENTS: Rechnungsstatus auf Teilnahme anzeigen

codez opened this issue · 1 comments

Es braucht (für die Kursadmin-User und TN-User) auf der Anmeldung eine Information darüber, ob die Fakturierung für diese Anmeldung bereits ausgelöst wurde und was deren Status ist.

Dazu wird auf dem Participation Model ein zusätzliches Attribut invoice_state (string/i18n_enum, nullable) erstellt, welches die gleichen Werte wie ExternalInvoice#state hat.

Jedes Mal, wenn bei einer ExternalInvoice::Course der State ändert (after_save), wird geprüft, ob diese das höchste created_at Datum aller External Invoices für diese Teilnahme (ExternalInvoice::Course#link) hat. Falls ja, wird der neue State auf der Teilnahme in invoice_state geschrieben.

Auf der Teilnahmeansicht gibt es ein neues Feld “Rechnung“. Das Feld wird unter dem Feld “Kosten” angezeigt. Dort steht der übersetzte Wert aus Participation#invoice_state oder "Nicht fakturiert", falls der Wert null ist.

Das Feld Rechnung ist auch auf der TN-Liste als einblendbare Spalte einzubauen. Die Spalte soll sortierbar sein. Falls der Wert null ist, wird ebenfalls "Nicht fakturiert" angezeigt.

ToDo

  • Migration erstellen
  • Model/View anpassen
  • Specs schreiben
  • Mit angemessener Rolle "durchklicken"

Erfolgreich getestet