diff --git a/lib/runosaari/schedule/performance.ex b/lib/runosaari/schedule/performance.ex index 67b307a..ed53abd 100644 --- a/lib/runosaari/schedule/performance.ex +++ b/lib/runosaari/schedule/performance.ex @@ -4,7 +4,15 @@ defmodule Runosaari.Schedule.Performance do schema "performances" do field :name, :string - field :desc, :string + field :paragraph1, :string + field :paragraph2, :string + field :paragraph3, :string + field :paragraph4, :string + field :paragraph5, :string + field :paragraph6, :string + field :paragraph7, :string + field :paragraph8, :string + field :paragraph9, :string field :seqnum, :integer, default: 999 timestamps() @@ -13,7 +21,19 @@ defmodule Runosaari.Schedule.Performance do @doc false def changeset(performance, attrs) do performance - |> cast(attrs, [:name, :desc, :seqnum]) - |> validate_required([:name, :desc, :seqnum]) + |> cast(attrs, [ + :name, + :paragraph1, + :paragraph2, + :paragraph3, + :paragraph4, + :paragraph5, + :paragraph6, + :paragraph7, + :paragraph8, + :paragraph9, + :seqnum + ]) + |> validate_required([:name, :seqnum]) end end diff --git a/lib/runosaari_web/templates/performance/admin.html.eex b/lib/runosaari_web/templates/performance/admin.html.eex index a649bbc..ef72e7b 100644 --- a/lib/runosaari_web/templates/performance/admin.html.eex +++ b/lib/runosaari_web/templates/performance/admin.html.eex @@ -5,7 +5,6 @@ Nimi - Seloste Prioriteetti @@ -15,7 +14,6 @@ <%= for performance <- @performances do %> <%= performance.name %> - <%= performance.desc %> <%= performance.seqnum %> diff --git a/lib/runosaari_web/templates/performance/form.html.eex b/lib/runosaari_web/templates/performance/form.html.eex index 61469ba..552fc36 100644 --- a/lib/runosaari_web/templates/performance/form.html.eex +++ b/lib/runosaari_web/templates/performance/form.html.eex @@ -9,9 +9,41 @@ <%= text_input form, :name %> <%= error_tag form, :name %> - <%= label form, :desc, "Seloste" %> - <%= textarea form, :desc %> - <%= error_tag form, :desc %> + <%= label form, :paragraph1, "Kappale 1" %> + <%= textarea form, :paragraph1 %> + <%= error_tag form, :paragraph1 %> + + <%= label form, :paragraph2, "Kappale 2" %> + <%= textarea form, :paragraph2 %> + <%= error_tag form, :paragraph2 %> + + <%= label form, :paragraph3, "Kappale 3" %> + <%= textarea form, :paragraph3 %> + <%= error_tag form, :paragraph3 %> + + <%= label form, :paragraph4, "Kappale 4" %> + <%= textarea form, :paragraph4 %> + <%= error_tag form, :paragraph4 %> + + <%= label form, :paragraph5, "Kappale 5" %> + <%= textarea form, :paragraph5 %> + <%= error_tag form, :paragraph5 %> + + <%= label form, :paragraph6, "Kappale 6" %> + <%= textarea form, :paragraph6 %> + <%= error_tag form, :paragraph6 %> + + <%= label form, :paragraph7, "Kappale 7" %> + <%= textarea form, :paragraph7 %> + <%= error_tag form, :paragraph7 %> + + <%= label form, :paragraph8, "Kappale 8" %> + <%= textarea form, :paragraph8 %> + <%= error_tag form, :paragraph8 %> + + <%= label form, :paragraph9, "Kappale 9" %> + <%= textarea form, :paragraph9 %> + <%= error_tag form, :paragraph9 %> <%= label form, :seqnum, "Prioriteetti (1 on korkein)" %> <%= textarea form, :seqnum %> diff --git a/lib/runosaari_web/templates/performance/index.html.eex b/lib/runosaari_web/templates/performance/index.html.eex index c15d6b6..2a69272 100644 --- a/lib/runosaari_web/templates/performance/index.html.eex +++ b/lib/runosaari_web/templates/performance/index.html.eex @@ -3,7 +3,33 @@ [Tietoja päivitetään] <%= for performance <- @performances do %>

<%= performance.name %>

-

<%= performance.desc %>

+ <%= if performance.paragraph1 != nil do %> +

<%= performance.paragraph1 %>

+ <% end %> + <%= if performance.paragraph2 != nil do %> +

<%= performance.paragraph2 %>

+ <% end %> + <%= if performance.paragraph3 != nil do %> +

<%= performance.paragraph3 %>

+ <% end %> + <%= if performance.paragraph4 != nil do %> +

<%= performance.paragraph4 %>

+ <% end %> + <%= if performance.paragraph5 != nil do %> +

<%= performance.paragraph5 %>

+ <% end %> + <%= if performance.paragraph6 != nil do %> +

<%= performance.paragraph1 %>

+ <% end %> + <%= if performance.paragraph7 != nil do %> +

<%= performance.paragraph2 %>

+ <% end %> + <%= if performance.paragraph8 != nil do %> +

<%= performance.paragraph3 %>

+ <% end %> + <%= if performance.paragraph9 != nil do %> +

<%= performance.paragraph4 %>

+ <% end %> <% end %>

Työpajat

diff --git a/lib/runosaari_web/templates/performance/show.html.eex b/lib/runosaari_web/templates/performance/show.html.eex index adcd38f..f15bcee 100644 --- a/lib/runosaari_web/templates/performance/show.html.eex +++ b/lib/runosaari_web/templates/performance/show.html.eex @@ -9,8 +9,48 @@

  • - Seloste: - <%= @performance.desc %> + Kappale 1: + <%= @performance.paragraph1 %> +
  • + +
  • + Kappale 2: + <%= @performance.paragraph2 %> +
  • + +
  • + Kappale 3: + <%= @performance.paragraph3 %> +
  • + +
  • + Kappale 4: + <%= @performance.paragraph4 %> +
  • + +
  • + Kappale 5: + <%= @performance.paragraph5 %> +
  • + +
  • + Kappale 6: + <%= @performance.paragraph6 %> +
  • + +
  • + Kappale 7: + <%= @performance.paragraph7 %> +
  • + +
  • + Kappale 8: + <%= @performance.paragraph8 %> +
  • + +
  • + Kappale 9: + <%= @performance.paragraph9 %>
  • diff --git a/mix.exs b/mix.exs index b45438d..a57872c 100644 --- a/mix.exs +++ b/mix.exs @@ -4,7 +4,7 @@ defmodule Runosaari.MixProject do def project do [ app: :runosaari, - version: "1.0.0", + version: "1.1.0", elixir: "~> 1.7", elixirc_paths: elixirc_paths(Mix.env()), compilers: [:phoenix, :gettext] ++ Mix.compilers(), diff --git a/priv/repo/migrations/20210701175655_multiple_performance_paragraphs.exs b/priv/repo/migrations/20210701175655_multiple_performance_paragraphs.exs new file mode 100644 index 0000000..af8b09b --- /dev/null +++ b/priv/repo/migrations/20210701175655_multiple_performance_paragraphs.exs @@ -0,0 +1,32 @@ +defmodule Runosaari.Repo.Migrations.MultiplePerformanceParagraphs do + use Ecto.Migration + + def down do + alter table("performances") do + add :desc, :string, size: 2000, null: true + remove :paragraph1 + remove :paragraph2 + remove :paragraph3 + remove :paragraph4 + remove :paragraph5 + remove :paragraph6 + remove :paragraph7 + remove :paragraph8 + remove :paragraph9 + end + end + def up do + alter table("performances") do + remove :desc + add :paragraph1, :string, size: 2000, null: true + add :paragraph2, :string, size: 2000, null: true + add :paragraph3, :string, size: 2000, null: true + add :paragraph4, :string, size: 2000, null: true + add :paragraph5, :string, size: 2000, null: true + add :paragraph6, :string, size: 2000, null: true + add :paragraph7, :string, size: 2000, null: true + add :paragraph8, :string, size: 2000, null: true + add :paragraph9, :string, size: 2000, null: true + end + end +end diff --git a/test/runosaari/schedule_test.exs b/test/runosaari/schedule_test.exs index c3a5fb9..aea522c 100644 --- a/test/runosaari/schedule_test.exs +++ b/test/runosaari/schedule_test.exs @@ -8,19 +8,59 @@ defmodule Runosaari.ScheduleTest do @create_attrs %{ name: "some name", - desc: "some description", + paragraph1: "some paragraph1", + paragraph2: "some paragraph2", + paragraph3: "some paragraph3", + paragraph4: "some paragraph4", + paragraph5: "some paragraph5", + paragraph6: "some paragraph6", + paragraph7: "some paragraph7", + paragraph8: "some paragraph8", + paragraph9: "some paragraph9", seqnum: 1 } @update_attrs %{ name: "some updated name", - desc: "some updated description", + paragraph1: "some updated paragraph1", + paragraph2: "some updated paragraph2", + paragraph3: "some updated paragraph3", + paragraph4: "some updated paragraph4", + paragraph5: "some updated paragraph5", + paragraph6: "some updated paragraph6", + paragraph7: "some updated paragraph7", + paragraph8: "some updated paragraph8", + paragraph9: "some updated paragraph9", seqnum: 2 } - @valid_attrs %{name: "some name", desc: "some description", seqnum: 1} + @valid_attrs %{ + name: "some name", + paragraph1: "some paragraph1", + paragraph2: "some paragraph2", + paragraph3: "some paragraph3", + paragraph4: "some paragraph4", + paragraph5: "some paragraph5", + paragraph6: "some paragraph6", + paragraph7: "some paragraph7", + paragraph8: "some paragraph8", + paragraph9: "some paragraph9", + seqnum: 1 + } - @invalid_attrs %{name: nil, desc: nil, seqnum: nil} + @invalid_attrs %{ + name: nil, + paragraph1: nil, + paragraph2: nil, + paragraph3: nil, + paragraph4: nil, + paragraph5: nil, + paragraph6: nil, + paragraph7: nil, + paragraph8: nil, + paragraph9: nil, + seqnum: nil + } def performance_fixture(attrs \\ %{}) do {:ok, performance} = @@ -44,7 +84,15 @@ defmodule Runosaari.ScheduleTest do test "create_performance/1 with valid data creates a performance" do assert {:ok, %Performance{} = performance} = Schedule.create_performance(@valid_attrs) assert performance.name == "some name" - assert performance.desc == "some description" + assert performance.paragraph1 == "some paragraph1" + assert performance.paragraph2 == "some paragraph2" + assert performance.paragraph3 == "some paragraph3" + assert performance.paragraph4 == "some paragraph4" + assert performance.paragraph5 == "some paragraph5" + assert performance.paragraph6 == "some paragraph6" + assert performance.paragraph7 == "some paragraph7" + assert performance.paragraph8 == "some paragraph8" + assert performance.paragraph9 == "some paragraph9" assert performance.seqnum == 1 end @@ -59,7 +107,15 @@ defmodule Runosaari.ScheduleTest do Schedule.update_performance(performance, @update_attrs) assert performance.name == "some updated name" - assert performance.desc == "some updated description" + assert performance.paragraph1 == "some updated paragraph1" + assert performance.paragraph2 == "some updated paragraph2" + assert performance.paragraph3 == "some updated paragraph3" + assert performance.paragraph4 == "some updated paragraph4" + assert performance.paragraph5 == "some updated paragraph5" + assert performance.paragraph6 == "some updated paragraph6" + assert performance.paragraph7 == "some updated paragraph7" + assert performance.paragraph8 == "some updated paragraph8" + assert performance.paragraph9 == "some updated paragraph9" assert performance.seqnum == 2 end diff --git a/test/runosaari_web/controllers/performance_controller_test.exs b/test/runosaari_web/controllers/performance_controller_test.exs index 1083e71..22e5b1d 100644 --- a/test/runosaari_web/controllers/performance_controller_test.exs +++ b/test/runosaari_web/controllers/performance_controller_test.exs @@ -5,17 +5,45 @@ defmodule RunosaariWeb.PerformanceControllerTest do @create_attrs %{ name: "some name", - desc: "some description", + paragraph1: "some paragraph1", + paragraph2: "some paragraph2", + paragraph3: "some paragraph3", + paragraph4: "some paragraph4", + paragraph5: "some paragraph5", + paragraph6: "some paragraph6", + paragraph7: "some paragraph7", + paragraph8: "some paragraph8", + paragraph9: "some paragraph9", seqnum: 1 } @update_attrs %{ name: "some updated name", - desc: "some updated description", + paragraph1: "some updated paragraph1", + paragraph2: "some updated paragraph2", + paragraph3: "some updated paragraph3", + paragraph4: "some updated paragraph4", + paragraph5: "some updated paragraph5", + paragraph6: "some updated paragraph6", + paragraph7: "some updated paragraph7", + paragraph8: "some updated paragraph8", + paragraph9: "some updated paragraph9", seqnum: 2 } - @invalid_attrs %{name: nil, desc: nil, seqnum: nil} + @invalid_attrs %{ + name: nil, + paragraph1: nil, + paragraph2: nil, + paragraph3: nil, + paragraph4: nil, + paragraph5: nil, + paragraph6: nil, + paragraph7: nil, + paragraph8: nil, + paragraph9: nil, + seqnum: nil + } def fixture(:performance) do {:ok, performance} = Schedule.create_performance(@create_attrs) @@ -74,7 +102,7 @@ defmodule RunosaariWeb.PerformanceControllerTest do assert redirected_to(conn) == Routes.admin_performance_path(conn, :show, performance) conn = get(conn, Routes.admin_performance_path(conn, :show, performance)) - assert html_response(conn, 200) =~ "some updated description" + assert html_response(conn, 200) =~ "some updated paragraph1" end test "renders errors when data is invalid", %{conn: conn, performance: performance} do