defmodule ConfientWeb.SessionController do use ConfientWeb, :controller alias Confient.Account.Auth import Phoenix.HTML def new(conn, _params) do render(conn, "new.html") end def create(conn, %{"session" => auth}) do case Auth.login(auth) do {:ok, user} -> conn |> put_session(:current_user_id, user.id) |> put_flash(:info, raw("Utilisateur #{user.username} connecté.")) |> redirect(to: "/") :error -> conn |> put_flash(:error, "Il y a un problème avec la combinaison utilisateur/mot de passe") |> redirect(to: Routes.session_path(conn, :new)) end end def delete(conn, _params) do conn |> delete_session(:current_user_id) |> delete_session(:current_user) |> put_flash(:info, "Déconnecté.") |> redirect(to: "/") end end