Initial commit
This commit is contained in:
33
lib/confient_web/controllers/session_controller.ex
Normal file
33
lib/confient_web/controllers/session_controller.ex
Normal file
@@ -0,0 +1,33 @@
|
||||
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 <strong>#{user.username}</strong> 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
|
||||
Reference in New Issue
Block a user