Additional email address per user account support

Howdy Jon!

You are certainly in the right place. Is this for dotnetfoundation? Can you email team@discourse.org, we will get it sorted for you!

6 Likes

Yes, fantastic. I have set this up and it is working just fine for me. Thank you!

Looking forward to see the web UI for this at some point :rocket:

7 Likes

Very happy this has been integrated and excited to try it out…

Sorry to revive an old post, but haven’t found anything else relevant.

I merged a user’s new account to their old account because their old account’s email address is no longer valid.
Their secondary email is now the valid email address but I need to change it to the primary so they can get email and reset password, etc.

I’ve tried deleting the secondary email and using the create command in rails c to re-add that valid email as their primary. I think I’m missing a step - do I need to save in rails c after I’m done?
After a successful delete/create command, I just put in exit, exit again and then launcher restart app.

What am I missing?

1 Like

I think we are missing some UX here, we have plans to improve it in the next release.

You are going to need to use the console to fix this up. Not exactly sure what commands you are going to need to run, maybe @LeoMcA can help.

6 Likes

I did the following:

./launcher enter app
rails c
UserEmail.where(user_id: 7, primary: false).destroy_all
UserEmail.create!(user: User.find_by_username("user7"), email: "newemail@example.com")
exit
exit
./launcher restart app

I don’t know if this is what I did wrong, but I only ran the delete line this time. Restarted the app, and refreshed the website. The secondary email was gone! So I went ahead and did the rest on the web UI and changed the primary to secondary as it is no longer a block.

I take that back, changing the email via the web sends a confirmation to the valid email address, but retains the invalid email address once you land back to the user’s preference page or user admin page.
Now I’m not sure what to do :frowning:

EDIT:

At the risk of spamming this thread, I figured it out.

Once in rails c
I removed all the emails - I just didn’t know how to set an email as Primary, that’s why everytime I re-add the valid email, it just gets added as a secondary email.

# Remove all secondary emails
UserEmail.where(user_id: 1234, primary: false).destroy_all
# Remove primary email
UserEmail.where(user_id: 1234, primary: true).destroy_all

# Set primary email
UserEmail.create!(user_id: 1234, email: "validemail@example.com", primary: true)

This goes without saying, it skips validation, but you’ve humanly validated it from the merged account previously so hopefully other folks can use this example. Only thing left to do is send the password reset email once you’ve restarted the app.

5 Likes

Hi Leon! This procedure is certainly not for the faint of heart and it looks like you’re on the right path. It’s definitely true that there’s some UX that would be handy here to manage the primary and secondary email addresses of users.This link might help you - it helped me!

5 Likes

This is complete as of the last release or two.

2 Likes