Reconsider what gets moved when deleting a staff user
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Evergreen |
Confirmed
|
Wishlist
|
Unassigned |
Bug Description
Currently, when deleting a staff user, anything associated with it will get moved to a target user.
However, it occurs to me that nearly all of the time that this is overkill. I think a distinction needs to be drawn between transferring ownership from the staff user to be deleted versus rewriting history.
Concretely, the various user purge and merge functions will do things like update the checkin_staff field in action.circulation. This has a couple consequences:
- It obscures the history of which staff user actually did something
- If the staff user was active Evergreen for a long time, there could be thousands of rows to be updated. One consequence of that is that deleting a staff user can time out.
I propose that we consider rethinking how we delete staff users to instead:
- lock out the old account
- transfer things where _ownership_ by the staff user matters
- leave historical data alone
Changed in evergreen: | |
status: | New → Confirmed |
tags: | added: patron permissions |
Changed in evergreen: | |
importance: | Undecided → Wishlist |
Adding a 'hear hear' to this. The rewriting of history has proven problematic from an admin standpoint.