move helpers to shops.ex, update controller
controller now uses helpers from shops.ex (same as live), and no longer has edit/delete/create functionality
This commit is contained in:
@@ -3,71 +3,16 @@ defmodule PokemonCoutureWeb.ClothesController do
|
||||
|
||||
alias PokemonCouture.Shops
|
||||
|
||||
def create_shop_map(clothes, map) do # helper function for index
|
||||
case map[clothes.location] do
|
||||
nil ->
|
||||
Map.put(map, clothes.location, [clothes])
|
||||
list_of_clothes when is_list(list_of_clothes) ->
|
||||
Map.put(map, clothes.location, list_of_clothes ++ [clothes])
|
||||
end
|
||||
end
|
||||
|
||||
def index(conn, _params) do
|
||||
clothes = Shops.list_clothes()
|
||||
clothes_map =
|
||||
clothes
|
||||
|> Enum.reduce(%{}, &create_shop_map/2)
|
||||
render(conn, "index.html", clothes: clothes, clothes_map: clothes_map)
|
||||
clothes_map = Shops.create_shop_map()
|
||||
clothes_map = for {shop, map} <- clothes_map
|
||||
do {shop, Enum.reduce(map, %{}, &Shops.inner_map_creator/2)}
|
||||
end
|
||||
render(conn, "index.html", clothes_map: clothes_map)
|
||||
end
|
||||
|
||||
# def new(conn, _params) do
|
||||
# changeset = Shops.change_clothes(%Clothes{})
|
||||
# render(conn, "new.html", changeset: changeset)
|
||||
# end
|
||||
|
||||
# def create(conn, %{"clothes" => clothes_params}) do
|
||||
# case Shops.create_clothes(clothes_params) do
|
||||
# {:ok, clothes} ->
|
||||
# conn
|
||||
# |> put_flash(:info, "Clothes created successfully.")
|
||||
# |> redirect(to: Routes.clothes_path(conn, :show, clothes))
|
||||
|
||||
# {:error, %Ecto.Changeset{} = changeset} ->
|
||||
# render(conn, "new.html", changeset: changeset)
|
||||
# end
|
||||
# end
|
||||
|
||||
def show(conn, %{"id" => id}) do
|
||||
clothes = Shops.get_clothes!(id)
|
||||
render(conn, "show.html", clothes: clothes)
|
||||
end
|
||||
|
||||
def edit(conn, %{"id" => id}) do
|
||||
clothes = Shops.get_clothes!(id)
|
||||
changeset = Shops.change_clothes(clothes)
|
||||
render(conn, "edit.html", clothes: clothes, changeset: changeset)
|
||||
end
|
||||
|
||||
def update(conn, %{"id" => id, "clothes" => clothes_params}) do
|
||||
clothes = Shops.get_clothes!(id)
|
||||
|
||||
case Shops.update_clothes(clothes, clothes_params) do
|
||||
{:ok, clothes} ->
|
||||
conn
|
||||
|> put_flash(:info, "Clothes updated successfully.")
|
||||
|> redirect(to: Routes.clothes_path(conn, :show, clothes))
|
||||
|
||||
{:error, %Ecto.Changeset{} = changeset} ->
|
||||
render(conn, "edit.html", clothes: clothes, changeset: changeset)
|
||||
end
|
||||
end
|
||||
|
||||
def delete(conn, %{"id" => id}) do
|
||||
clothes = Shops.get_clothes!(id)
|
||||
{:ok, _clothes} = Shops.delete_clothes(clothes)
|
||||
|
||||
conn
|
||||
|> put_flash(:info, "Clothes deleted successfully.")
|
||||
|> redirect(to: Routes.clothes_path(conn, :index))
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user