Edited for significant clarifications, better thought out suggestion criteria to better assist with fellow community members to understand the benefit of this feature improvement.
Update the Email Editable setting to allow additional options as to the who can edit email addresses, as the setting is designed e.g.
- All Users
- Users Only [Normal Admins, or Moderators cannot without using the rails console or changing the setting.]
- Staff Only
- Admins Only
If the setting is on [which it is by default], introduce a Sudo-Mode guardrail to perform the action as admin [Not the user the account being edit belongs to]; This allows for this setting to be introduced with some key points mentioned below to be secured against unwanted changes.
Reasoning/Why this needs done
If you want to set the setting off because you either want to have control over this e.g. they need to request the change, you do it for security practice, or some other reason, but for some reason need to edit the email; With this setting off even admins cannot edit the emails.
That is where it introduces a new issue. If one or more use case applies.
To Edit Emails for users currently; You can either 1) Turn it on in another tab, and quickly edit the email, or 2) Open Rails console and manually change the email.
For most regular day-to-day operations administrators, this can lead to an unwanted technical challenge. if you just rely solely on doing everything in the Rails Console, when the setting does exist.
Why extra guardrails could help make this feature a reality;
- If left on because of a technical implication Compromised users could have their emails changed.
- Admins could make errors, or unauthorized changes.
- Users will feel that those with said access are secured from changes done maliciously.
This was talked about last in 2015, and while it is true, you can edit emails, you cannot edit them on the admin view, it tells you to go to the user preferences view, which I do, and well, even as an admin I cannot due to the constraints of this setting.
