Packages
torch
0.2.0-rc.2
6.0.0
5.6.0
5.5.0
5.4.0
5.3.2
5.3.1
5.2.0
5.1.2
5.1.1
5.1.0
5.0.0
5.0.0-rc.4
5.0.0-rc.3
5.0.0-rc.2
5.0.0-rc.1
5.0.0-rc.0
4.3.2
4.3.1
4.3.0
4.2.1
4.2.0
retired
4.1.0
4.0.0
4.0.0-rc.0
3.9.1
3.9.0
3.8.0
3.7.1
3.7.0-rc.0
3.6.4
3.6.3
3.6.2
3.6.1
3.6.0
3.5.0
3.4.1
3.4.0
3.3.1
3.3.0
3.2.1
3.2.0
3.1.0
3.0.0
2.1.0
2.0.0
2.0.0-rc.3
2.0.0-rc.2
2.0.0-rc.1
1.0.0-rc.6
1.0.0-rc.5
1.0.0-rc.4
1.0.0-rc.3
1.0.0-rc.2
1.0.0-rc.1
0.2.0-rc.5
0.2.0-rc.4
0.2.0-rc.3
0.2.0-rc.2
0.2.0-rc.1
0.1.0
Rapid admin generator for Phoenix
Current section
Files
Jump to
Current section
Files
priv/templates/elixir/controller.ex
defmodule <%= module %>Controller do
use <%= base %>.Web, :controller
use Torch.Controller
import Ecto.Query
alias <%= base %>.<%= alias %>
alias Filtrex.Type.Config
plug :put_layout, {Example.LayoutView, "admin.html"}
plug :scrub_params, "<%= singular %>" when action in [:create, :update]
@page_size 10
<%= if length(configs) > 0 do %>
@config [
<%= Enum.join(configs, ",\n\s\s\s\s") %>
]
<% else %>
@config []
<% end %>
def index(conn, params) do
query = query(<%= alias %>, @config, params["<%= singular %>"])
count = count(Repo, query)
<%= singular %>s =
query
|> paginate(conn.assigns[:page], @page_size)
|> order_by(^sort(params))
|> Repo.all
conn
|> assign(:<%= singular %>s, <%= singular %>s)
|> assign(:num_pages, ceil(count / @page_size))
|> render("index.html")
end
def new(conn, _params) do
changeset = <%= alias %>.changeset(%<%= alias %>{})
render conn, "new.html", changeset: changeset
end
def create(conn, %{"<%= singular %>" => <%= singular %>_params}) do
changeset = <%= alias %>.changeset(%<%= alias %>{}, <%= singular %>_params)
case Repo.insert(changeset) do
{:ok, _<%= singular %>} ->
conn
|> put_flash(:info, "<%= human %> created successfully.")
|> redirect(to: <%= namespace_underscore %>_<%= singular %>_path(conn, :index))
{:error, changeset} ->
conn
|> put_status(400)
|> render("new.html", changeset: changeset)
end
end
def edit(conn, %{"id" => id}) do
<%= singular %> = Repo.get!(<%= alias %>, id)
changeset = <%= alias %>.changeset(<%= singular %>)
render conn, "edit.html", changeset: changeset, <%= singular %>: <%= singular %>
end
def update(conn, %{"id" => id, "<%= singular %>" => <%= singular %>_params}) do
<%= singular %> = Repo.get!(<%= alias %>, id)
changeset = <%= alias %>.changeset(<%= singular %>, <%= singular %>_params)
case Repo.update(changeset) do
{:ok, _<%= singular %>} ->
conn
|> put_flash(:info, "<%= human %> updated successfully.")
|> redirect(to: <%= namespace_underscore %>_<%= singular %>_path(conn, :index))
{:error, changeset} ->
conn
|> put_status(400)
|> render("edit.html", <%= singular %>: <%= singular %>, changeset: changeset)
end
end
def delete(conn, %{"id" => id}) do
<%= singular %> = Repo.get!(<%= alias %>, id)
Repo.delete!(<%= singular %>)
conn
|> put_flash(:info, "<%= human %> deleted successfully.")
|> redirect(to: <%= namespace_underscore %>_<%= singular %>_path(conn, :index))
end
end