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

EVENTS: Externe Ausbildungen zählen beim Qualifizieren #262

Closed
codez opened this issue Jan 26, 2024 · 6 comments · Fixed by hitobito/hitobito#2533 or #429 · May be fixed by hitobito/hitobito_pbs#321
Closed

EVENTS: Externe Ausbildungen zählen beim Qualifizieren #262

codez opened this issue Jan 26, 2024 · 6 comments · Fixed by hitobito/hitobito#2533 or #429 · May be fixed by hitobito/hitobito_pbs#321

Comments

@codez
Copy link
Contributor

codez commented Jan 26, 2024

Im SAC Wagon wird der Events::Qualifier wie folgt angepasst:

Nach dem Erstellen einer Externen Ausbildung wird der Events::Qualifier aufgerufen. Damit werden die konfigurierten Qualifikationen aufgrund der Kursart erteilt. Beim Löschen einer Externen Ausbildung werden die entsprechenden Qualifikationen via Events::Qualifier wieder gelöscht.

Beim Formular zum Erstellen einer Externen Ausbildung wird je nach gewählter Kursart ein entsprechender Hinweis angezeigt, welche Qualifikationen erstellt/verlängert werden. Z.B. "Vergibt die Qualifikation SAC Tourenleiter/in 1 Winter und verlängert existierende Qualifikationen SAC Tourenleiter/in 1 Sommer"

Die Berechnung der Anzahl Fortbildungstage wird bei der Verlängerung von Qualifikationen (siehe #257) so überschrieben, dass zusätzlich zu den Kursteilnahmen (Event::Participation) und Kursen ebenfalls die Externen Ausbildungen der Person berücksichtigt werden. Das qualification_date entspricht dem finish_at, qualified ist durch die Existenz der Ausbildung gegeben, Kursart ist analog.

Wenn eine Externe Ausbildung weiter zurück in der Vergangenheit erfasst wird, und zeitlich nachfolgend bereits andere Kurse oder externe Ausbildungen mit denselben zu verlängernden Qualifikationsarten existieren, verändert dies potentiell die Gültigkeitsdaten mehrerer Qualifikationen, deren Qualiarten "Erforderliche Ausbildungstage" haben. Falls beim Erstellen oder Löschen einer Externen Ausbildung also spätere Kurse oder externe Ausbildungen existieren, welche dieselben Qualiarten verlängern, müssen die entsprechenden Qualifikationen komplett neu berechnet werden. Dies betrifft beim alle Qualis (derselben Art) mit einem späteren qualified_at als das Qualifikationsdatum der aktuellen Ausbildung. Diese werden gelöscht und dann für jeden nachfolgenden Kurs/Ausbildung neu berechnet. Die etlichen Konstellationsmöglichkeiten sollen möglichst umfassen durch Tests abgeckt werden.

@codez codez changed the title EVENTS: Ausbildungen automatisch erstellen EVENTS: Externe Ausbildungen zählen beim Qualifizieren Feb 1, 2024
@sykesonrocks sykesonrocks assigned codez and unassigned sykesonrocks Feb 29, 2024
@codez codez removed their assignment Feb 29, 2024
@sykesonrocks sykesonrocks assigned codez and unassigned sykesonrocks Mar 1, 2024
@codez codez removed their assignment Mar 1, 2024
@amaierhofer amaierhofer self-assigned this Mar 25, 2024
amaierhofer added a commit to hitobito/hitobito that referenced this issue Mar 27, 2024
amaierhofer added a commit to hitobito/hitobito that referenced this issue Mar 27, 2024
amaierhofer added a commit to hitobito/hitobito that referenced this issue Mar 28, 2024
@amaierhofer amaierhofer reopened this Mar 28, 2024
@sykesonrocks
Copy link
Collaborator

sykesonrocks commented Apr 3, 2024

1 - @codez
Ich werde als Nächstes ein MA aus dem Fach fragen, die Funktion zu testen. Ich habe dieses Ticket heute getestet und der Mechanismus scheint für mich zu verheben, sowohl bei der Erfassung von externen Ausbildungen als auch bei der Erfassung von Qualifikationen - und in Kombination von beiden. 2 Beispiele, die ich als Testperson genutzt habe (siehe Log):
https://sac-cas.puzzle.ch/de/groups/941/people/418807/history
https://sac-cas.puzzle.ch/de/groups/931/people/376936/history

2 - @tobiasstern @codez
Es ist nicht Teil dieses Tickets, aber mir ist aufgefallen, dass externe Ausbildungen und Qualifikationen in der Zukunft erfasst werden können. Dies sollte man mit einer Fehlermeldung abfangen. Ich habe einige Tests vorgenommen und erhalte ein merkwürdiges Verhalten (Qualis in der Zukunft erfasst, danach externe Ausbildung in der Zukunft und danach versucht zu löschen = 400). PS: ich versuche solche Punkte hier festzuhalten: https://saccas.atlassian.net/browse/HIT-158.

@sykesonrocks
Copy link
Collaborator

sykesonrocks commented Apr 9, 2024

@codez Ich habe die Erfassung von externen Ausbildungen und Qualifikationen inkl. der Verlängerungslogik mit dem Fach getestet und teile nachfolgend unser Feedback.

1
Bei diesen Personen müssten 3 offene Ausbildungstage angezeigt werden:

Gehe wie folgt vor, um den Fehler zu reproduzieren:

  1. Erfasse eine Qualifikation "SAC Tourenleiter/in 1 Sommer" bei einem Mitglied mit gültig ab 01.02.2011
  2. Erfasse eine externe Ausbildung beim selben Mitglied mit Startdatum 01.02.2020 und Enddatum 05.02.2020 inkl. 3 Ausbildungstage von der Kursart "S7160".
  3. Prüfe den neu erfassten Eintrag unter "Qualifikationen" und stelle fest, dass 0 fälschlicherweise ausgegeben wird

2
Bei abgelaufenen Qualis (wo "Reaktivierbar bis" < heute) wird ein Info-Icon mit folgendem Hilfetext gewünscht: "Diese Qualifikation ist seit dem <reaktivierbar_bis_datum> abgelaufen. Falls du davor Aus- oder Fortbildungen besucht hast und du für diese eine Kursbestätigung besitzt, kannst du diese mit deinem Tourenchef teilen. Allenfalls kann dies zu einer Reaktivierung deiner bereits abgelaufenen Qualifikation führen.".

3
Generell wurde der Wunsch geäussert, dass interne IDs stets mit angezeigt werden sollten. Die Gruppen-IDs sollten nicht nur in der URL sichtbar sein, sondern auch direkt in den Masken resp. in den Listen-Ansichten (als read-only). Beispiele: unter https://sac-cas.puzzle.ch/de/qualification_kinds, https://sac-cas.puzzle.ch/de/event_kinds, https://sac-cas.puzzle.ch/de/event_kind_categories eine zusätzliche Spalte "Gruppen-ID" oder "ID"; unter https://sac-cas.puzzle.ch/de/event_kind_categories/new, https://sac-cas.puzzle.ch/de/event_kinds/new, https://sac-cas.puzzle.ch/de/qualification_kinds/new ein neues read-only Feld "Gruppen-ID" oder "ID".

4
Wenn die Bezeichnung einer Qualifikationsart angepasst wird, wird die angepasste Bezeichnung sofort bei allen Mitgliedern übernommen, die eine Qualifikation dieser Qualifikationsart besitzen. Wenn aber die Werte unter "Gültigkeit", "Reaktivierbar" und "Erforderliche Ausbildungstage" geändert werden, werden die neuen Werte nicht übernommen. Wurde dies absichtlich so umgesetzt? Besteht die Möglichkeit, dass die Datensätze versioniert werden, sodass Nutzer die Verlängerungen rückwirkend stets nachvollziehen können?

5
Wenn eine neue Qualifikationsart erfasst wird, kann eine Beschreibung erfasst werden. Diese wird jedoch nirgends angezeigt, weder bei der Erfassung einer neuen Quali bei einem Mitglied noch unter "Verlauf". Besteht die Möglichkeit, dass der Beschreibungstext im Zuge der Nacherfassung einer Quali bei einem Mitglied als Aside rechts dargestellt wird?

6
Es wurde die Aussage getroffen, dass es benutzerfreundlicher wäre, wenn Qualis sowie externe Ausbildungen im selben Register erfasst werden könnten (entweder unter "Info" oder unter "Verlauf").

7
Unter "Verlauf" werden folgende Abschnitte in folgender Reihenfolge dargstellt:

  1. Kurse
  2. Qualifikationen
  3. Externe Ausbildungen

Es wurde der Wunsch geäussert, dass die Kurse und externen Ausbildungen in einer Tabelle ("Ausbildungshistory") angezeigt werden sollten inkl. einer Spalte "Ist Extern" (als Boolean). Sollte dies nicht möglich sein, sollen die Abschnitte wie folgt benannt sortiert werden:

  1. Qualifikationen
  2. Interne Kurse, Aus- und Fortbildungen
  3. Externe Kurse, Aus- und Fortbildungen

8
Unter "Kurse" unter "Verlauf" fehlen die Header-Informationen.

9
Beim Erfassen einer neuen Quali bei einem Mitglied sollte es die Möglichkeit geben, eine Bemerkung spezifisch zu diesem Eintrag miterfassen zu können.

10
Es wurde gewünscht, dass Hitobito beim Hinzufügen der Rolle "Tourenleiter*in" prüft, dass die zugewiesene Person eine aktive Qualifikation besitzt (konkret für das gesetzte von-Datum der Rolle). Falls keine aktive Quali vorliegt, soll der Nutzer mit einer Fehlermeldung darauf aufmerksam gemacht werden.

11
Es wurde die Anforderung gestellt, dass eine Funktion bereitgestellt werden soll, mit der Nutzer Ausbildungen und Qualis für mehrere Personen gleichzeitig nacherfassen können (im Sinne einer Stapelverarbeitung).

@tobiasstern ich wäre froh, wenn du mir morgen mitteilen könntest, welche Punkte wir über den "Light" Prozess verarbeiten können und welche Punkte wir über den offiziellen Weg aufnehmen müssen. Danke dir!

@sykesonrocks
Copy link
Collaborator

@tobiasstern wo stehen wir hier?

1 Problem besteht weiterhin. Wirst du dazu ein Ticket erstellen?
2 Wurde noch nicht umgesetzt. Wirst du dazu ein Ticket erstellen?
3 Wurde noch nicht umgesetzt. Wirst du dazu ein Ticket erstellen?
4 Wurde noch nicht umgesetzt. Wirst du dazu ein Ticket erstellen?
5 Wurde noch nicht umgesetzt. Wirst du dazu ein Ticket erstellen?
6 Wurde noch nicht umgesetzt. Wirst du dazu ein Ticket erstellen?
7 Wurde noch nicht umgesetzt. Wirst du dazu ein Ticket erstellen?
8 Wurde noch nicht umgesetzt. Wirst du dazu ein Ticket erstellen?
9 Wurde noch nicht umgesetzt. Wirst du dazu ein Ticket erstellen?
10 Ich werde hierzu ein separates Ticket erstellen.
11 Wurde noch nicht umgesetzt. Wirst du dazu ein Ticket erstellen?

Danke für deine Rückmeldung!

@tobiasstern
Copy link
Contributor

tobiasstern commented Apr 17, 2024

Zwischenstand @sykesonrocks

1 & 2 habe ich nach Rücksprache mit Pascal hier hinzugefügt: #332
3 in Jira erfasst https://saccas.atlassian.net/browse/HIT-342 -> TBD wegen Vollständigkeit der anzupassenden Ansichten
4 beim kurzen Retest hat wurde nur "Gültigkeit" nicht übernommen auf bestehenden Qs. Muss abklären ob bug oder as designed.
5 In https://saccas.atlassian.net/browse/HIT-343 beschrieben. Darstellungsart aber eher als Text statt als Aside.
6,7 & 8 Neues Ticket für Überarbeitung des Tabs "Verlauf": https://saccas.atlassian.net/browse/HIT-345
9 Ist bereits in https://saccas.atlassian.net/browse/HIT-242 drin
10 ok, wie von dir beschrieben
11 Neues Ticket erstellt https://saccas.atlassian.net/browse/HIT-344

@tobiasstern
Copy link
Contributor

tobiasstern commented Apr 19, 2024

Update

Soweit alles getrackt, geprüft, verfolgt und ok, ausser Befund 4. Ich habe Schwierigkeiten dies zu verstehen und zu testen.
Es geht um die Vererbungslogik der zentralen Qualifikationsarten und ihren Eigenschaften, hin zu den einzelnen Qualifikationen auf den Mitgliedern. Bei Einer Änderung auf der Q-Art werden alle Eigenschaften vererbt/gepusht, ausser die Gültigkeit.

@codez kannst du mir hierbei helfen, gehört die Vererbungslogik von Q-Arten überhaupt in dieses Ticket oder gibt es dazu ein anderes? (Oder ist das eine Hitobito-Standard-Funktion, für die es gar kein Ticket gibt?) Ich finde keine Spezifikation dazu.

Ich habe hier getestet:

Testergebnis: Die Qualis auf dem Profil Stefan haben eine andere Gültigkeit als die Qualis auf dem Profil Toni :(

@tobiasstern
Copy link
Contributor

tobiasstern commented Apr 24, 2024

Einschätzung Pascal Z.: Das beschriebene Verhalten der Gültigkeit ist by design als Hitobito-Standardfunktion.

-->
Eine Anpassung an der Verebungslogik und/oder eine Versionierung von Änderungen ist nicht Teil der ursprünglichen Spezifikation. Ich habe dafür ein neues Ticket erstellt: https://saccas.atlassian.net/browse/HIT-356

Damit sind nun alle Befunde für dieses Ticket hier verarbeitet und das Ticket kann geschlossen werden.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment