X-Git-Url: https://pwan.org/git/?p=tech-radar-editor.git;a=blobdiff_plain;f=web%2Fcontrollers%2Fradar_controller.ex;h=916a24c9bd316feeff002a65fc1939ae5ff6d0d7;hp=44126db2299f8f5ddd289d67814420c12cfc22c8;hb=2a6f9c8445c400330baa2c550d8d6755bd0a542e;hpb=fa39186cb771e6b81962f0e9328c6cb609f8871c diff --git a/web/controllers/radar_controller.ex b/web/controllers/radar_controller.ex index 44126db..916a24c 100644 --- a/web/controllers/radar_controller.ex +++ b/web/controllers/radar_controller.ex @@ -12,17 +12,30 @@ defmodule TechRadarEditor.RadarController do # http://www.cultivatehq.com/posts/how-to-set-different-layouts-in-phoenix/ def index(conn, _params) do + changeset = RadarDataPoint.changeset(%RadarDataPoint{}) radar_quadrants = _make_quadrants(Repo.all(RadarDataPoint)) - render conn, "index.html", radar_quadrants: radar_quadrants, layout: {TechRadarEditor.LayoutView, "radar.html"} + render conn, "index.html", radar_quadrants: radar_quadrants, changeset: changeset, layout: {TechRadarEditor.LayoutView, "radar.html"} + end + + def create(conn, %{"radar_data_point" => radar_data_point_params}) do + changeset = RadarDataPoint.changeset(%RadarDataPoint{}, radar_data_point_params) + + case Repo.insert(changeset) do + {:ok, _radar_data_point} -> + conn + |> put_flash(:info, "Radar data point created successfully.") + |> redirect(to: radar_path(conn, :index), layout: {TechRadarEditor.LayoutView, "radar.html"} ) + {:error, changeset} -> + render(conn, "new.html", changeset: changeset) + end end - # UNTESTED def delete(conn, %{"id" => id}) do radar_data_point = Repo.get!(RadarDataPoint, id) Repo.delete!(radar_data_point) conn - |> put_flash(:info, "Radar data point " + id + " successfully deleted.") + |> put_flash(:info, "Radar data point " <> id <> " successfully deleted.") |> redirect(to: radar_path(conn, :index), layout: {TechRadarEditor.LayoutView, "radar.html"} ) end