-
Notifications
You must be signed in to change notification settings - Fork 111
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: explizites Start- und Enddatum #2775
Closed
24 of 26 tasks
daniel-illi opened this issue
Aug 19, 2024
· 3 comments
· Fixed by hitobito/hitobito_cevi#139, hitobito/hitobito_die_mitte#230, hitobito/hitobito_dsj#28, hitobito/hitobito_glp#63 or hitobito/hitobito_insieme#163
Closed
24 of 26 tasks
ROLES: explizites Start- und Enddatum #2775
daniel-illi opened this issue
Aug 19, 2024
· 3 comments
· Fixed by hitobito/hitobito_cevi#139, hitobito/hitobito_die_mitte#230, hitobito/hitobito_dsj#28, hitobito/hitobito_glp#63 or hitobito/hitobito_insieme#163
Labels
Comments
Wir haben in unserem Wagon noch hitobito/hitobito_jubla#60 offen. |
This was
linked to
pull requests
Aug 20, 2024
@richardjubla merci für den Hinweis. Ich habs im PR entsprechend kommentiert 👍 |
Danke, bin froh habe ich hier den Zusammenhang korrekt gesehen. |
This was referenced Aug 23, 2024
Add explicit #start_on/#end_on to Role, remove FutureRole, Role#delete_on
hitobito/hitobito_cevi#139
Merged
2 tasks
daniel-illi
added a commit
to hitobito/hitobito_youth
that referenced
this issue
Oct 15, 2024
Role#delete_on (#82) fixes hitobito/hitobito#2775
daniel-illi
added a commit
to hitobito/hitobito_youth
that referenced
this issue
Oct 15, 2024
Role#delete_on (#82) fixes hitobito/hitobito#2775
daniel-illi
added a commit
to hitobito/hitobito_youth
that referenced
this issue
Oct 15, 2024
daniel-illi
added a commit
to hitobito/hitobito_youth
that referenced
this issue
Oct 15, 2024
daniel-illi
added a commit
to hitobito/hitobito_youth
that referenced
this issue
Oct 15, 2024
This was referenced Nov 8, 2024
amaierhofer
pushed a commit
to hitobito/hitobito_youth
that referenced
this issue
Nov 15, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Rollen können eine beschränkte Gültigkeitsdauer haben.
Bisher wurden
created_at
unddeleted_at
dafür missbraucht, die Gültigkeit einer Rolle abzubilden.Neu soll auf der Rolle ein optionales Startdatum
start_on
und Enddatumend_on
hinterlegt sein.Dies vereinfacht das Handling von zukünftigen Rollen sowie von Rollen mit vordefiniertem Ablaufdatum.
Um möglichst Kompatibel mit bestehendem Code zu bleiben, soll ein neuer
default_scope
definiert werden, welche analog dem bisherigen default scope vonparanoia
nur die aktuell gültigen Rollen enthält.Die alten timestamps
deleted_at
,delete_on
sowieconvert_on
werden nicht mehr benötigt und die entsprechenden Spalten sollen entfernt werden. Ebenso wird die RollenklasseFutureRole
nicht mehr benötigt und wird gelöscht.Auf
Role
gibt esafter_create
undafter_destroy
callbacks, welche die AttributePerson#primary_group_id
undPerson#contact_data_visible
setzen. Diese Mutationen sollen nur durch die Callbacks durchgeführt werden, wenn die bearbeitete Rolle aktuell aktiv ist.Die Mutationen müssen ebenfalls durchgeführt werden, nachdem eine Rolle aktiv wird (
start_on
erreicht) und wenn sie abläuft (end_on
überschritten). Dazu wird ein Hintergrundjob implementiert, welcher für die Personen aller aktiv gewordenen und abgelaufenen Rollen seit dem letzten Job run die Mutationen durchführt.Tech-Spec
Siehe auch Draft PRs #2763 , hitobito/hitobito_sac_cas#850
Migrationen erstellen:
Role
anpassenacts_as_paranoid
entfernencreated_at
,delete_on
entfernenend_on
>=start_on
ist falls beide gesetzt sindactive
:with_inactive
: da der default scope mitstart_on
/end_on
filtert, müssen diese attrs unscoped werden:inactive
: anpassen dass statt demdeleted_at
von paranoia die neuen attrs verwendet werden:ended
,future
:#destroy
: bisheriges Verhalten anpassen:end_on
auf gestern gesetzt werden, ausserend_on
ist bereits auf ein vergangenes Datum gesetzt#really_destroy!
zum Zuge kam, soll neu ein reguläres active record#destroy
verwendet werden (da Role nicht mehr "paranoid" ist)destroy
callbacks sollen auch ausgeführt werden, wennend_on
gesetzt wird statt löschen#really_destroy!(**)
implementieren:#destroy
aufsuper
aufrufen.(diese Methode wird aufgerufen, wenn
Group#really_destroy
aufgerufen wird wegen der Optiondependent: :destroy
auf der Relation)#start_on
#end_on
#outdated?
#paranoia_destroy_attributes
def ended? = end_on? && end_on < Date.current
#archive!
SAC Wagon
Siehe auch Draft PR DRAFT: explicit validity period hitobito_sac_cas#850
Group::SektionsMitglieder::Mitglied
undMitgliedZusatzsektion
Validierung vondelete_on
entfernencreated_at
entfernenstart_on
,end_on
SacCas::Role::ClassMethods#select_with_membership_years
anpassenSBV Wagon:
hitobito_sbv/lib/tasks/reactivate.rake
: wird diese Funktion noch benötigt? Anpassen oder löschenAndere Wagons anpassen
z.B. auf Github die Organisation hitobito durchsuchen nach
delete_on
,convert_on
,convert_to
,FutureRole
Role lifecycle callbacks auch als Job #2788
ToDo
The text was updated successfully, but these errors were encountered: