legendary-doc-site/apps/admin/kaffy/lib/kaffy_web/controllers/page_controller.ex
2020-07-27 20:28:41 +00:00

20 lines
576 B
Elixir

defmodule KaffyWeb.PageController do
@moduledoc false
use Phoenix.Controller, namespace: KaffyWeb
def index(conn, %{"slug" => slug}) do
case Kaffy.ResourceAdmin.find_page(conn, slug) do
nil ->
conn
|> put_flash(:error, "The page you are trying to visit does not exist")
|> redirect(to: Kaffy.Utils.router().kaffy_home_path(conn, :index))
page ->
conn
|> put_layout({KaffyWeb.LayoutView, "app.html"})
|> put_view(page.view)
|> render(page.template, Map.get(page, :assigns, []))
end
end
end