mirror of
https://github.com/philomena-dev/philomena.git
synced 2024-11-30 14:57:59 +01:00
24 lines
545 B
Elixir
24 lines
545 B
Elixir
defmodule PhilomenaWeb.NotAuthorizedPlug do
|
|
alias Phoenix.Controller
|
|
alias Plug.Conn
|
|
|
|
def init([]), do: []
|
|
|
|
def call(conn), do: call(conn, nil)
|
|
|
|
def call(conn, _opts) do
|
|
case conn.assigns.ajax? do
|
|
true ->
|
|
conn
|
|
|> Conn.resp(:forbidden, "You can't access that page.")
|
|
|> Conn.halt()
|
|
|
|
_false ->
|
|
conn
|
|
|> Controller.fetch_flash()
|
|
|> Controller.put_flash(:warning, "You can't access that page.")
|
|
|> Controller.redirect(to: "/")
|
|
|> Conn.halt()
|
|
end
|
|
end
|
|
end
|