Additional email address per user account support

Ho eseguito quanto segue:

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

Non so se questo sia stato il mio errore, ma questa volta ho eseguito solo la riga di eliminazione. Ho riavviato l’app e ricaricato il sito web. L’email secondaria è sparita! Quindi ho proceduto con il resto tramite l’interfaccia web, impostando l’email secondaria come primaria, dato che non è più bloccata.

Mi correggo: cambiare l’email tramite il web invia una conferma all’indirizzo email valido, ma mantiene l’indirizzo email non valido una volta tornati alla pagina delle preferenze dell’utente o alla pagina di amministrazione utente.
Ora non sono più sicuro di cosa fare :frowning:

EDIT:

A rischio di spammiare questo thread, ho capito come risolvere.

Una volta dentro rails c
Ho rimosso tutte le email: semplicemente non sapevo come impostare un’email come Primaria, ed è per questo che ogni volta che riaggiungevo l’email valida, veniva aggiunta come email secondaria.

# Rimuovi tutte le email secondarie
UserEmail.where(user_id: 1234, primary: false).destroy_all
# Rimuovi l'email primaria
UserEmail.where(user_id: 1234, primary: true).destroy_all

# Imposta l'email primaria
UserEmail.create!(user_id: 1234, email: "validemail@example.com", primary: true)

È ovvio che questo ignora la validazione, ma l’avete già validata manualmente dall’account unito in precedenza, quindi spero che altri possano utilizzare questo esempio. L’unica cosa da fare ora è inviare l’email di reimpostazione della password una volta riavviata l’app.

5 Mi Piace