Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ROLES: Error-Handling künftige/inaktive Rollen #2255

Closed
6 tasks done
mtnstar opened this issue Nov 9, 2023 · 0 comments · Fixed by #2260
Closed
6 tasks done

ROLES: Error-Handling künftige/inaktive Rollen #2255

mtnstar opened this issue Nov 9, 2023 · 0 comments · Fixed by #2260

Comments

@mtnstar
Copy link
Member

mtnstar commented Nov 9, 2023

mit #2237 haben wir neu Rollen mit Von-Datum in der Zukunft. Seit längerem gibt es auch die Möglichkeit Rollen so zu konfigurieren, das sie an einem Datum in der Zukunft terminiert werden.
Für beide Szenarien kommt ein DelayedJob zum Einsatz welcher die Rolle entweder am Stichdatum löscht (bis Datum der Rolle) oder ein anderer Job der die Rolle dann erstellt (FutureRole)
Bei beiden Vorgängen kann theoretisch einiges schief gehen sodass wir inkonsistente Daten haben:

  • Einer der beiden Jobs läuft nicht
  • eine Rolle kann nicht konvertiert werden zum Zeitpunkt des Von-Datums z.B aufgrund Validierungsfehlern oder wenn die after_create Hooks failen
  • dito für Löschen der Rolle, dort vorallem bezüglich der after_destroy callbacks.

Gewünschtes Verhalten

  • Eine Rolle wird entsprechend markiert wenn sie outdated ist -> Siehe Mockups
  • eine Exception wird im Job geworfen und ans sentry reported (sollte bereits so umgesetzt sein, prüfen und ggf. noch spec ergänzen)
  • die Jobs versuchen immer wieder die fehlerhafte Rolle zu erstellen/zu löschen (sollte bereits so umgesetzt sein, prüfen und ggf. noch spec ergänzen)
  • Beim FutureRole Job werden Errors heute in das Label Feld geschrieben. Dieses Verhalten entfernen. Validierungsfehler können im UI manuell nachgestellt werden. Sicherstellen das der Validierungsfehler in der Exception welche ans Sentry gesendet wird ersichtlich ist.
  • Rollen sollen immer gelöscht oder konvertiert werden sollen wenn Validierungs-Fehler auf der Person vorhanden sind

Mockups

1. Rolle mit Bis-Datum heute oder in der Vergangenheit:

image

Beim Versuch die Rolle zu Speichern würde ein allfälliger Fehler als Flash-Message angezeigt

2. FutureRole mit Von-Datum heute oder in der Vergangenheit

image

Tech-Spec

  • Unabhängig von den CronJobs weiss eine Rolle falls sie outdated ist:
      1. Bei einer FutureRole ist dies der Fall wenn das Von-Datum Heute oder in der Vergangenheit ist (convert_on)
      1. Bei einer aktiven Rolle ist dies der Fall wenn das Bis-Datum Heute oder in der Vergangenheit ist (delete_on)

Fall 1 - outdated FutureRole:

  • Es wird ein ⚠️ als Teil des Labels der Rolle angezeigt (font-awesome Icon im UI)
  • auf dem Edit-Form der Rolle wird der Text/Flash Message aus dem obigen Mockup angezeigt
  • Errors die beim Speichern auftreten sollen als Flash-Message im UI angezeigt werden (sollte bereits Standard-Verhalten sein)
  • Speichern ohne Validierungsfehler konvertiert die outdated FutureRole

Fall 2 - outdated active Role:

  • Es wird ein ⚠️ als Teil des Labels der Rolle angezeigt (font-awesome Icon im UI)
  • Im Label wird in diesem Fall noch das Bis-Datum ergänzt. z.B. (bis 1.11.2023)
  • auf dem Edit-Form der Rolle wird der Text/Flash Message aus dem obigen Mockup angezeigt
  • Errors die beim Speichern auftreten sollen als Flash-Message im UI angezeigt werden
  • Speichern ohne Validierungsfehler löscht die outdated Rolle
  • Gleicher Text für Flash-Warning wie bei Fall 1, jedoch mit terminiert anstatt aktiviert werden ...

https://fontawesome.com/v5/icons/exclamation-triangle?f=classic&s=solid

DelayedJobs

  • Falls möglich beide Jobs immer zur vollen Stunde laufen lassen: x:00:10, viertelstündlich macht eigentlich keinen Sinn
  • Exception Message nicht mehr im Label speichern

ToDo

  • DelayedJobs Error Handling bereinigen/vereinfachen
  • Rollen-Model mit dem Feature outdated ausrüsten
  • Anpassungen im UI vornehmen Person#aside role, -Person#history, Role#edit, ggf. weitere Orte?-
  • Manuelles Testen
@mtnstar mtnstar changed the title ROLES: Fehlerhafte Künftige Rollen, Gelöschte Rollen markieren ROLES: Error-Handling künftige/inaktive Rollen Nov 15, 2023
@mtnstar mtnstar added the HIT-9 label Nov 15, 2023
@amaierhofer amaierhofer self-assigned this Nov 15, 2023
amaierhofer added a commit that referenced this issue Nov 15, 2023
amaierhofer added a commit that referenced this issue Nov 16, 2023
- highlight oudated roles on person page
- flash message when editing outdated roles
- consistent error handling across jobs

refs #2255
amaierhofer added a commit that referenced this issue Nov 16, 2023
- highlight oudated roles on person page
- flash message when editing outdated roles
- consistent error handling across jobs

refs #2255
amaierhofer added a commit that referenced this issue Nov 16, 2023
- highlight oudated roles on person page
- flash message when editing outdated roles
- consistent error handling across jobs

refs #2255
amaierhofer added a commit that referenced this issue Nov 20, 2023
- highlight oudated roles on person page
- flash message when editing outdated roles
- consistent error handling across jobs

refs #2255
@amaierhofer amaierhofer linked a pull request Nov 20, 2023 that will close this issue
3 tasks
@amaierhofer amaierhofer removed their assignment Nov 20, 2023
@mtnstar mtnstar assigned mtnstar and amaierhofer and unassigned mtnstar Nov 22, 2023
@amaierhofer amaierhofer removed their assignment Nov 23, 2023
@TheWalkingLeek TheWalkingLeek self-assigned this Nov 27, 2023
TheWalkingLeek pushed a commit that referenced this issue Nov 27, 2023
- highlight oudated roles on person page
- flash message when editing outdated roles
- consistent error handling across jobs

refs #2255
TheWalkingLeek pushed a commit that referenced this issue Nov 28, 2023
- highlight oudated roles on person page
- flash message when editing outdated roles
- consistent error handling across jobs

refs #2255
amaierhofer added a commit that referenced this issue Nov 29, 2023
- highlight oudated roles on person page
- flash message when editing outdated roles
- consistent error handling across jobs

refs #2255
amaierhofer added a commit that referenced this issue Nov 29, 2023
- highlight oudated roles on person page
- flash message when editing outdated roles
- consistent error handling across jobs

refs #2255
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants