diff --git a/lib/frenzy_web/controllers/account_controller.ex b/lib/frenzy_web/controllers/account_controller.ex index b8e50a4..4910b34 100644 --- a/lib/frenzy_web/controllers/account_controller.ex +++ b/lib/frenzy_web/controllers/account_controller.ex @@ -96,7 +96,7 @@ defmodule FrenzyWeb.AccountController do approved_client = Enum.find(user.approved_clients, fn c -> c.client_id == client_id end) - if not is_nil(approved_client) do + unless is_nil(approved_client) do {:ok, _} = Repo.delete(approved_client) end diff --git a/lib/frenzy_web/controllers/login_controller.ex b/lib/frenzy_web/controllers/login_controller.ex index 5a7f6c4..13cbf65 100644 --- a/lib/frenzy_web/controllers/login_controller.ex +++ b/lib/frenzy_web/controllers/login_controller.ex @@ -11,8 +11,6 @@ defmodule FrenzyWeb.LoginController do }) end - @error_message "Invalid username or password" - def login_post(conn, %{"username" => username, "password" => password} = params) do user = Repo.get_by(User, username: username) @@ -26,8 +24,15 @@ defmodule FrenzyWeb.LoginController do {:error, _reason} -> conn - |> put_flash(:error, @error_message) + |> put_flash(:error, "Invalid username or password.") |> redirect(to: Routes.login_path(Endpoint, :login)) end end + + def logout(conn, params) do + conn + |> put_flash(:info, "Logged out.") + |> clear_session() + |> redirect(to: "/") + end end diff --git a/lib/frenzy_web/router.ex b/lib/frenzy_web/router.ex index 2de9b53..7bbf759 100644 --- a/lib/frenzy_web/router.ex +++ b/lib/frenzy_web/router.ex @@ -27,6 +27,8 @@ defmodule FrenzyWeb.Router do get "/login", LoginController, :login post "/login", LoginController, :login_post + get "/logout", LoginController, :logout + get "/oauth/authorize", Fervor.OauthController, :authorize_get post "/oauth/authorize", Fervor.OauthController, :authorize_post end diff --git a/lib/frenzy_web/templates/layout/app.html.eex b/lib/frenzy_web/templates/layout/app.html.eex index bf69560..afe6579 100644 --- a/lib/frenzy_web/templates/layout/app.html.eex +++ b/lib/frenzy_web/templates/layout/app.html.eex @@ -13,6 +13,10 @@