Checkpoint commit
[tech-radar-editor.git] / web / controllers / radar_controller.ex
index 24b2e5a..44126db 100644 (file)
@@ -3,9 +3,27 @@ defmodule TechRadarEditor.RadarController do
 
   alias TechRadarEditor.RadarDataPoint
 
+  def _make_quadrants(radar_data_points) do
+      List.foldl(radar_data_points,
+                 %{1 => [], 2 => [], 3 => [], 4 => []},
+                 fn(p, acc) -> %{acc | p.quadrant => acc[p.quadrant] ++ [p]} end
+                 )
+  end
+
   # http://www.cultivatehq.com/posts/how-to-set-different-layouts-in-phoenix/
   def index(conn, _params) do
-    radar_data_points = Repo.all(RadarDataPoint)
-    render conn, "index.html", radar_data_points: radar_data_points, layout: {TechRadarEditor.LayoutView, "radar.html"}
+    radar_quadrants = _make_quadrants(Repo.all(RadarDataPoint))
+    render conn, "index.html", radar_quadrants: radar_quadrants, layout: {TechRadarEditor.LayoutView, "radar.html"}
+  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.")
+      |> redirect(to: radar_path(conn, :index), layout: {TechRadarEditor.LayoutView, "radar.html"} )
   end
+
 end