acd34424f7
So that they can stack and get dismissed automatically
30 lines
693 B
Elixir
30 lines
693 B
Elixir
defmodule MusicLibraryWeb.SessionController do
|
|
use MusicLibraryWeb, :controller
|
|
|
|
alias MusicLibraryWeb.Auth
|
|
|
|
@empty_form %{"password" => ""}
|
|
|
|
def new(conn, _params) do
|
|
conn
|
|
|> delete_session(:logged_in)
|
|
|> render(:new,
|
|
page_title: gettext("Login"),
|
|
form: @empty_form,
|
|
layout: {MusicLibraryWeb.Layouts, "unauthenticated"}
|
|
)
|
|
end
|
|
|
|
def create(conn, %{"password" => request_password}) do
|
|
if Auth.correct_login_password?(request_password) do
|
|
conn
|
|
|> put_session(:logged_in, true)
|
|
|> redirect(to: ~p"/")
|
|
else
|
|
conn
|
|
|> put_toast(:error, gettext("Invalid password"))
|
|
|> redirect(to: ~p"/login")
|
|
end
|
|
end
|
|
end
|