Current section
Files
Jump to
Current section
Files
priv/templates/use_case.gen.phx_resource_html/controller.eex
defmodule <%= @context_inflected[:web_module] %>.<%= @context_inflected[:module] |> String.replace("#{@context_inflected[:base]}.", "") %>Controller do
use <%= @context_inflected[:web_module] %>, :controller
alias <%= @context_inflected[:base] %>.<%= @context_inflected[:scoped] %>
def index(conn, _params) do
render(conn, "index.html", <%= @schema.plural %>: <%= @context_inflected[:alias] %>.list)
end
def new(conn, _params) do
render(conn, "new.html", changeset: <%= @context_inflected[:alias] %>.new_changeset)
end
def create(conn, %{<%= inspect @schema.singular %> => <%= @schema.singular %>_params}) do
case <%= @context_inflected[:alias] %>.create(<%= @schema.singular %>_params) do
{:ok, <%= @schema.singular %>} ->
conn
|> put_flash(:info, gettext("<%= @schema.human_singular %> created successfully."))
|> redirect(to: Routes.<%= @schema.route_helper %>_path(conn, :show, <%= @schema.singular %>))
{:error, %Ecto.Changeset{} = changeset} ->
render(conn, "new.html", changeset: changeset)
end
end
def show(conn, %{"id" => id}) do
render(conn, "show.html", <%= @schema.singular %>: <%= @context_inflected[:alias] %>.get!(id))
end
def edit(conn, %{"id" => id}) do
<%= @schema.singular %> = <%= @context_inflected[:alias] %>.get!(id)
changeset = <%= @context_inflected[:alias] %>.edit_changeset(<%= @schema.singular %>)
render(conn, "edit.html", <%= @schema.singular %>: <%= @schema.singular %>, changeset: changeset)
end
def update(conn, %{"id" => id, <%= inspect @schema.singular %> => <%= @schema.singular %>_params}) do
<%= @schema.singular %> = <%= @context_inflected[:alias] %>.get!(id)
case <%= @context_inflected[:alias] %>.update(<%= @schema.singular %>, <%= @schema.singular %>_params) do
{:ok, <%= @schema.singular %>} ->
conn
|> put_flash(:info, gettext("<%= @schema.human_singular %> updated successfully."))
|> redirect(to: Routes.<%= @schema.route_helper %>_path(conn, :show, <%= @schema.singular %>))
{:error, %Ecto.Changeset{} = changeset} ->
render(conn, "edit.html", <%= @schema.singular %>: <%= @schema.singular %>, changeset: changeset)
end
end
def delete(conn, %{"id" => id}) do
{:ok, _<%= @schema.singular %>} = <%= @context_inflected[:alias] %>.delete(<%= @context_inflected[:alias] %>.get!(id))
conn
|> put_flash(:info, gettext("<%= @schema.human_singular %> deleted successfully."))
|> redirect(to: Routes.<%= @schema.route_helper %>_path(conn, :index))
end
end