29th / personnel-v3

Personnel management system version 3
https://www.29th.org
2 stars 6 forks source link

Consolidate name and steam_id fields #239

Closed wilson29thid closed 6 months ago

wilson29thid commented 6 months ago

What should happen when a user re-enlists, logging in to their old user account, and uses a different name for their enlistment? Say, because they don't want the old name to come up in google searches, or they changed their name, etc.?

Currently, an enlistment is created with whatever they fill in on the enlistment form, and their existing user account's name fields don't get updated. It's down to the enlistment liaison to notice the discrepancy and speak to them about it, then update their user profile if need be.

Alternatives would be:

A) Stop using the first_name/last_name fields on enlistments entirely, and just use the associated user's first_name/last_name fields. This would mean re-enlisting users wouldn't be able to update those fields at all, and would have to explicitly ask for them to be updated. Though this might encourage them to create a new user account, which is a pain.

B) When creating a new enlistment record, automatically update the user's profile with the name used in the enlistment, just like when it's a brand new user / first-time enlistment. This doesn't feel right, and would seem to hide the change.

C) Keep the current system, and just add a clear indicator on the manage enlistment pages for enlistment liasisons when the enlistment's name fields don't perfectly match the user profile's name fields.

Any thoughts on this @swomma @conrad29th ?


Updated plan:

wilson29thid commented 6 months ago

I've discussed this with @swomma and we've agreed to go with option A. When re-enlisting, the name fields will be shown, but disabled, with a note underneath saying, "if you'd like to change your name, mention it in the comments below." Also, the "edit enlistment" page for enlistment liaisons will have the user fields embedded, so there's no need to update the user profile separately.

This means we'll deprecate the name fields and the steam_id field in the enlistments table, and just use those fields from the user table.