Handle cases where there is current user which is tmp user

token-login
Marcin Kulik 7 years ago
parent bce66edf00
commit 2042760abd

@ -19,7 +19,9 @@ defmodule Asciinema.SessionController do
end
defp login(conn, logging_user) do
case {conn.assigns.current_user, logging_user} do
current_user = conn.assigns.current_user
case {current_user, logging_user} do
{nil, %User{email: nil}} ->
conn
|> Auth.login(logging_user)
@ -35,15 +37,18 @@ defmodule Asciinema.SessionController do
|> put_rails_flash(:notice, "Setting username and email will help you with logging in later.")
|> redirect_to_edit_profile
{%User{email: nil}, %User{email: nil}} ->
Users.merge!(current_user, logging_user)
conn
|> put_rails_flash(:notice, "WATCHA GONNA DO") # TODO
|> redirect(to: "/")
|> put_rails_flash(:notice, "Setting username and email will help you with logging in later.")
|> redirect_to_edit_profile
{%User{email: nil}, %User{}} ->
Users.merge!(logging_user, current_user)
conn
|> put_rails_flash(:notice, "WATCHA GONNA DO") # TODO
|> redirect(to: "/")
{%User{} = u1, %User{email: nil} = u2} ->
Users.merge!(u1, u2)
|> Auth.login(logging_user)
|> put_rails_flash(:notice, "Recorder token has been added to your account.")
|> redirect_to_profile
{%User{}, %User{email: nil}} ->
Users.merge!(current_user, logging_user)
conn
|> put_rails_flash(:notice, "Recorder token has been added to your account.")
|> redirect_to_profile

Loading…
Cancel
Save