Initial commit: there's still tons of base Phoenix boilerplate to remove, but the...
[tech-radar-editor.git] / web / controllers / radar_data_point_controller.ex
1 defmodule TechRadarEditor.RadarDataPointController do
2 use TechRadarEditor.Web, :controller
3
4 alias TechRadarEditor.RadarDataPoint
5
6 def index(conn, _params) do
7 radar_data_point = Repo.all(RadarDataPoint)
8 render(conn, "index.html", radar_data_point: radar_data_point)
9 end
10
11 def new(conn, _params) do
12 changeset = RadarDataPoint.changeset(%RadarDataPoint{})
13 render(conn, "new.html", changeset: changeset)
14 end
15
16 def create(conn, %{"radar_data_point" => radar_data_point_params}) do
17 changeset = RadarDataPoint.changeset(%RadarDataPoint{}, radar_data_point_params)
18
19 case Repo.insert(changeset) do
20 {:ok, _radar_data_point} ->
21 conn
22 |> put_flash(:info, "Radar data point created successfully.")
23 |> redirect(to: radar_data_point_path(conn, :index))
24 {:error, changeset} ->
25 render(conn, "new.html", changeset: changeset)
26 end
27 end
28
29 def show(conn, %{"id" => id}) do
30 radar_data_point = Repo.get!(RadarDataPoint, id)
31 render(conn, "show.html", radar_data_point: radar_data_point)
32 end
33
34 def edit(conn, %{"id" => id}) do
35 radar_data_point = Repo.get!(RadarDataPoint, id)
36 changeset = RadarDataPoint.changeset(radar_data_point)
37 render(conn, "edit.html", radar_data_point: radar_data_point, changeset: changeset)
38 end
39
40 def update(conn, %{"id" => id, "radar_data_point" => radar_data_point_params}) do
41 radar_data_point = Repo.get!(RadarDataPoint, id)
42 changeset = RadarDataPoint.changeset(radar_data_point, radar_data_point_params)
43
44 case Repo.update(changeset) do
45 {:ok, radar_data_point} ->
46 conn
47 |> put_flash(:info, "Radar data point updated successfully.")
48 |> redirect(to: radar_data_point_path(conn, :show, radar_data_point))
49 {:error, changeset} ->
50 render(conn, "edit.html", radar_data_point: radar_data_point, changeset: changeset)
51 end
52 end
53
54 def delete(conn, %{"id" => id}) do
55 radar_data_point = Repo.get!(RadarDataPoint, id)
56
57 # Here we use delete! (with a bang) because we expect
58 # it to always work (and if it does not, it will raise).
59 Repo.delete!(radar_data_point)
60
61 conn
62 |> put_flash(:info, "Radar data point deleted successfully.")
63 |> redirect(to: radar_data_point_path(conn, :index))
64 end
65 end