Multiple editable paragraphs to performances page.
This commit is contained in:
@@ -4,7 +4,15 @@ defmodule Runosaari.Schedule.Performance do
|
|||||||
|
|
||||||
schema "performances" do
|
schema "performances" do
|
||||||
field :name, :string
|
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
|
field :seqnum, :integer, default: 999
|
||||||
|
|
||||||
timestamps()
|
timestamps()
|
||||||
@@ -13,7 +21,19 @@ defmodule Runosaari.Schedule.Performance do
|
|||||||
@doc false
|
@doc false
|
||||||
def changeset(performance, attrs) do
|
def changeset(performance, attrs) do
|
||||||
performance
|
performance
|
||||||
|> cast(attrs, [:name, :desc, :seqnum])
|
|> cast(attrs, [
|
||||||
|> validate_required([:name, :desc, :seqnum])
|
:name,
|
||||||
|
:paragraph1,
|
||||||
|
:paragraph2,
|
||||||
|
:paragraph3,
|
||||||
|
:paragraph4,
|
||||||
|
:paragraph5,
|
||||||
|
:paragraph6,
|
||||||
|
:paragraph7,
|
||||||
|
:paragraph8,
|
||||||
|
:paragraph9,
|
||||||
|
:seqnum
|
||||||
|
])
|
||||||
|
|> validate_required([:name, :seqnum])
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -5,7 +5,6 @@
|
|||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>Nimi</th>
|
<th>Nimi</th>
|
||||||
<th>Seloste</th>
|
|
||||||
<th>Prioriteetti</th>
|
<th>Prioriteetti</th>
|
||||||
|
|
||||||
<th></th>
|
<th></th>
|
||||||
@@ -15,7 +14,6 @@
|
|||||||
<%= for performance <- @performances do %>
|
<%= for performance <- @performances do %>
|
||||||
<tr>
|
<tr>
|
||||||
<td><%= performance.name %></td>
|
<td><%= performance.name %></td>
|
||||||
<td><%= performance.desc %></td>
|
|
||||||
<td><%= performance.seqnum %></td>
|
<td><%= performance.seqnum %></td>
|
||||||
|
|
||||||
<td class="actions">
|
<td class="actions">
|
||||||
|
|||||||
@@ -9,9 +9,41 @@
|
|||||||
<%= text_input form, :name %>
|
<%= text_input form, :name %>
|
||||||
<%= error_tag form, :name %>
|
<%= error_tag form, :name %>
|
||||||
|
|
||||||
<%= label form, :desc, "Seloste" %>
|
<%= label form, :paragraph1, "Kappale 1" %>
|
||||||
<%= textarea form, :desc %>
|
<%= textarea form, :paragraph1 %>
|
||||||
<%= error_tag form, :desc %>
|
<%= 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)" %>
|
<%= label form, :seqnum, "Prioriteetti (1 on korkein)" %>
|
||||||
<%= textarea form, :seqnum %>
|
<%= textarea form, :seqnum %>
|
||||||
|
|||||||
@@ -3,7 +3,33 @@
|
|||||||
<i>[Tietoja päivitetään]</i>
|
<i>[Tietoja päivitetään]</i>
|
||||||
<%= for performance <- @performances do %>
|
<%= for performance <- @performances do %>
|
||||||
<h2><%= performance.name %></h2>
|
<h2><%= performance.name %></h2>
|
||||||
<p><%= performance.desc %></p>
|
<%= if performance.paragraph1 != nil do %>
|
||||||
|
<p class="performance-paragraph"><%= performance.paragraph1 %></p>
|
||||||
|
<% end %>
|
||||||
|
<%= if performance.paragraph2 != nil do %>
|
||||||
|
<p class="performance-paragraph"><%= performance.paragraph2 %></p>
|
||||||
|
<% end %>
|
||||||
|
<%= if performance.paragraph3 != nil do %>
|
||||||
|
<p class="performance-paragraph"><%= performance.paragraph3 %></p>
|
||||||
|
<% end %>
|
||||||
|
<%= if performance.paragraph4 != nil do %>
|
||||||
|
<p class="performance-paragraph"><%= performance.paragraph4 %></p>
|
||||||
|
<% end %>
|
||||||
|
<%= if performance.paragraph5 != nil do %>
|
||||||
|
<p class="performance-paragraph"><%= performance.paragraph5 %></p>
|
||||||
|
<% end %>
|
||||||
|
<%= if performance.paragraph6 != nil do %>
|
||||||
|
<p class="performance-paragraph"><%= performance.paragraph1 %></p>
|
||||||
|
<% end %>
|
||||||
|
<%= if performance.paragraph7 != nil do %>
|
||||||
|
<p class="performance-paragraph"><%= performance.paragraph2 %></p>
|
||||||
|
<% end %>
|
||||||
|
<%= if performance.paragraph8 != nil do %>
|
||||||
|
<p class="performance-paragraph"><%= performance.paragraph3 %></p>
|
||||||
|
<% end %>
|
||||||
|
<%= if performance.paragraph9 != nil do %>
|
||||||
|
<p class="performance-paragraph"><%= performance.paragraph4 %></p>
|
||||||
|
<% end %>
|
||||||
<% end %>
|
<% end %>
|
||||||
<h2>Työpajat</h2>
|
<h2>Työpajat</h2>
|
||||||
<p id="workshops">
|
<p id="workshops">
|
||||||
|
|||||||
@@ -9,8 +9,48 @@
|
|||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li>
|
<li>
|
||||||
<strong>Seloste:</strong>
|
<strong>Kappale 1:</strong>
|
||||||
<%= @performance.desc %>
|
<%= @performance.paragraph1 %>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li>
|
||||||
|
<strong>Kappale 2:</strong>
|
||||||
|
<%= @performance.paragraph2 %>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li>
|
||||||
|
<strong>Kappale 3:</strong>
|
||||||
|
<%= @performance.paragraph3 %>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li>
|
||||||
|
<strong>Kappale 4:</strong>
|
||||||
|
<%= @performance.paragraph4 %>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li>
|
||||||
|
<strong>Kappale 5:</strong>
|
||||||
|
<%= @performance.paragraph5 %>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li>
|
||||||
|
<strong>Kappale 6:</strong>
|
||||||
|
<%= @performance.paragraph6 %>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li>
|
||||||
|
<strong>Kappale 7:</strong>
|
||||||
|
<%= @performance.paragraph7 %>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li>
|
||||||
|
<strong>Kappale 8:</strong>
|
||||||
|
<%= @performance.paragraph8 %>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li>
|
||||||
|
<strong>Kappale 9:</strong>
|
||||||
|
<%= @performance.paragraph9 %>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
2
mix.exs
2
mix.exs
@@ -4,7 +4,7 @@ defmodule Runosaari.MixProject do
|
|||||||
def project do
|
def project do
|
||||||
[
|
[
|
||||||
app: :runosaari,
|
app: :runosaari,
|
||||||
version: "1.0.0",
|
version: "1.1.0",
|
||||||
elixir: "~> 1.7",
|
elixir: "~> 1.7",
|
||||||
elixirc_paths: elixirc_paths(Mix.env()),
|
elixirc_paths: elixirc_paths(Mix.env()),
|
||||||
compilers: [:phoenix, :gettext] ++ Mix.compilers(),
|
compilers: [:phoenix, :gettext] ++ Mix.compilers(),
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -8,19 +8,59 @@ defmodule Runosaari.ScheduleTest do
|
|||||||
|
|
||||||
@create_attrs %{
|
@create_attrs %{
|
||||||
name: "some name",
|
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
|
seqnum: 1
|
||||||
}
|
}
|
||||||
|
|
||||||
@update_attrs %{
|
@update_attrs %{
|
||||||
name: "some updated name",
|
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
|
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
|
def performance_fixture(attrs \\ %{}) do
|
||||||
{:ok, performance} =
|
{:ok, performance} =
|
||||||
@@ -44,7 +84,15 @@ defmodule Runosaari.ScheduleTest do
|
|||||||
test "create_performance/1 with valid data creates a performance" do
|
test "create_performance/1 with valid data creates a performance" do
|
||||||
assert {:ok, %Performance{} = performance} = Schedule.create_performance(@valid_attrs)
|
assert {:ok, %Performance{} = performance} = Schedule.create_performance(@valid_attrs)
|
||||||
assert performance.name == "some name"
|
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
|
assert performance.seqnum == 1
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -59,7 +107,15 @@ defmodule Runosaari.ScheduleTest do
|
|||||||
Schedule.update_performance(performance, @update_attrs)
|
Schedule.update_performance(performance, @update_attrs)
|
||||||
|
|
||||||
assert performance.name == "some updated name"
|
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
|
assert performance.seqnum == 2
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -5,17 +5,45 @@ defmodule RunosaariWeb.PerformanceControllerTest do
|
|||||||
|
|
||||||
@create_attrs %{
|
@create_attrs %{
|
||||||
name: "some name",
|
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
|
seqnum: 1
|
||||||
}
|
}
|
||||||
|
|
||||||
@update_attrs %{
|
@update_attrs %{
|
||||||
name: "some updated name",
|
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
|
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
|
def fixture(:performance) do
|
||||||
{:ok, performance} = Schedule.create_performance(@create_attrs)
|
{: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)
|
assert redirected_to(conn) == Routes.admin_performance_path(conn, :show, performance)
|
||||||
|
|
||||||
conn = get(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
|
end
|
||||||
|
|
||||||
test "renders errors when data is invalid", %{conn: conn, performance: performance} do
|
test "renders errors when data is invalid", %{conn: conn, performance: performance} do
|
||||||
|
|||||||
Reference in New Issue
Block a user