Additional email address per user account support

Fiz o seguinte:

./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

Não sei se foi isso que fiz de errado, mas desta vez executei apenas a linha de exclusão. Reiniciei o aplicativo e atualizei o site. O e-mail secundário desapareceu! Então, prossegui e fiz o resto na interface web, alterando o e-mail principal para secundário, já que não é mais um bloqueio.

Na verdade, ao alterar o e-mail via web, é enviada uma confirmação para o endereço de e-mail válido, mas o endereço de e-mail inválido permanece quando você retorna à página de preferências do usuário ou à página de administração do usuário.
Agora não tenho certeza do que fazer :frowning:

EDIT:

Arriscando spammar este tópico, descobri.

Uma vez no rails c:
Removi todos os e-mails — eu simplesmente não sabia como definir um e-mail como Principal, por isso, toda vez que re-adicionava o e-mail válido, ele era adicionado apenas como e-mail secundário.

# Remover todos os e-mails secundários
UserEmail.where(user_id: 1234, primary: false).destroy_all
# Remover e-mail principal
UserEmail.where(user_id: 1234, primary: true).destroy_all

# Definir e-mail principal
UserEmail.create!(user_id: 1234, email: "validemail@example.com", primary: true)

Isso dispensa comentários, pois ignora a validação, mas você já validou manualmente a partir da conta mesclada anteriormente, então espero que outras pessoas possam usar este exemplo. A única coisa que resta fazer é enviar o e-mail de redefinição de senha após reiniciar o aplicativo.

5 curtidas