Files
music_library/lib/music_library_web/controllers/session_controller.ex
T
Claudio Ortolina 2e40cbd5da Improve page titles
- When showing a single record, use record details
- Split title into logical breadcrumbs
2024-11-26 21:00:53 +00:00

33 lines
793 B
Elixir

defmodule MusicLibraryWeb.SessionController do
use MusicLibraryWeb, :controller
@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 Plug.Crypto.secure_compare(password(), request_password) do
conn
|> put_session(:logged_in, true)
|> redirect(to: ~p"/")
else
conn
|> put_flash(:error, gettext("Invalid password"))
|> redirect(to: ~p"/login")
end
end
def password do
Application.get_env(:music_library, MusicLibraryWeb)
|> Keyword.fetch!(:auth_password)
end
end