Packages

An Elixir Phoenix Auto Administration Package.

Retired package: Release invalid

Current section

Files

Jump to
ex_admin_runtime web ex_admin controller.ex
Raw

web/ex_admin/controller.ex

defmodule ExAdmin.Controller do
@moduledoc false
def get_registered_by_controller_route!(%Plug.Conn{} = conn, resource_name \\ nil) do
resource_name = resource_name || conn.params["resource"]
res = get_registered_by_controller_route(resource_name)
if res == %{} do
raise Phoenix.Router.NoRouteError, conn: conn, router: __MODULE__
else
res
end
end
def get_registered_by_controller_route(resource_name) do
Enum.find ExAdmin.get_registered, %{}, &(Map.get(&1, :controller_route) == resource_name)
end
defmacro __using__(_opts) do
quote do
import ExAdmin.Controller
def set_theme(conn, _) do
assign(conn, :theme, ExAdmin.theme)
end
def set_layout(conn, _) do
layout = Application.get_env(:ex_admin_runtime, :layout) || "#{conn.assigns.theme.name}.html"
put_layout(conn, layout)
end
end
end
end