Archive page

This commit is contained in:
2022-05-04 00:51:29 +03:00
parent 1a292afa57
commit 3be2ea0b88
10 changed files with 58 additions and 8 deletions

View File

@@ -33,6 +33,24 @@ defmodule Runosaari.Registration do
def list_sorted_confirmed_performers do
Performer
|> where([p], p.confirmed == true)
|> where([p], is_nil(p.archived))
|> order_by(:name)
|> Repo.all()
end
@doc """
Returns the :name sorted list of archived performers by year.
## Examples
iex> list_sorted_confirmed_performers()
[%Performer{}, ...]
"""
def list_sorted_archived_performers(year) do
Performer
|> where([p], not is_nil(p.archived))
|> where([p], p.archived == ^year)
|> order_by(:name)
|> Repo.all()
end

View File

@@ -12,6 +12,7 @@ defmodule Runosaari.Registration.Performer do
field :link, :string
field :photo_path, :string
field :confirmed, :boolean, default: false
field :archived, :integer
timestamps()
end
@@ -28,7 +29,8 @@ defmodule Runosaari.Registration.Performer do
:paragraph5,
:link,
:photo_path,
:confirmed
:confirmed,
:archived
])
|> validate_required([
:name,

View File

@@ -31,7 +31,7 @@ defmodule Runosaari.Schedule do
"""
def list_sorted_performances do
Repo.all(Performance |> order_by(:seqnum))
Repo.all(Performance |> where([p], not is_nil(p.seqnum)) |> order_by(:seqnum))
end
@doc """

View File

@@ -0,0 +1,10 @@
defmodule RunosaariWeb.ArchiveController do
use RunosaariWeb, :controller
alias Runosaari.Registration
def index(conn, _params) do
performers2021 = Registration.list_sorted_archived_performers(2021)
render(conn, "index.html", performers2021: performers2021)
end
end

View File

@@ -16,14 +16,15 @@ defmodule RunosaariWeb.Router do
scope "/", RunosaariWeb do
pipe_through :browser
resources "/", IndexController, only: [:index]
get "/", IndexController, :index
get "/safety", PageController, :safety
get "/privacy", PageController, :privacy
resources "/performers", PerformerController, only: [:index, :show]
resources "/performances", PerformanceController, only: [:index]
get "/performances", PerformanceController, :index
resources "/visitors", VisitorController, only: [:new, :create]
get "/confirmation", VisitorController, :confirmation
resources "/info", InfoController, only: [:index]
get "/info", InfoController, :index
get "/archive", ArchiveController, :index
end
scope "/admin", RunosaariWeb, as: :admin do

View File

@@ -0,0 +1,12 @@
<section class="main">
<h1 id="archive-start">Arkisto</h1>
<div class="performers2021-container">
<%= for performer <- @performers2021 do %>
<div class="performer-name">
<span class="fa fa-chevron-right" ></span>
<%= link "#{performer.name}", to: "#{Routes.performer_path(@conn, :show, performer)}#performer-start" %>
</div>
<% end %>
</div>
</section>

View File

@@ -21,7 +21,7 @@
<%= link "Esiintyjät", to: Routes.performer_path(@conn, :index) %>
<%= link "Info", to: Routes.info_path(@conn, :index) %>
<%= link "Turvallisuus", to: Routes.page_path(@conn, :safety) %>
<%= link "Ilmoittautuminen", to: Routes.visitor_path(@conn, :new) %>
<%= link "Arkisto", to: Routes.archive_path(@conn, :index) %>
</nav>
<h1 class="mobile-main-title">
<a href="/#logo-container">Runosaari 2021</a>
@@ -32,7 +32,7 @@
<%= link "Esiintyjät", to: "#{Routes.performer_path(@conn, :index)}#performers-start" %>
<%= link "Info", to: "#{Routes.info_path(@conn, :index )}#contact-start" %>
<%= link "Turvallisuus", to: "#{Routes.page_path(@conn, :safety)}#safety-start" %>
<%= link "Ilmoittautuminen", to: "#{Routes.visitor_path(@conn, :new)}#registration-start" %>
<%= link "Arkisto", to: "#{Routes.archive_path(@conn, :index)}#archive-start" %>
</nav>
</header>
<main role="main">

View File

@@ -46,7 +46,7 @@
<%= error_tag form, :paragraph9 %>
<%= label form, :seqnum, "Prioriteetti (1 on korkein)" %>
<%= textarea form, :seqnum %>
<%= number_input form, :seqnum %>
<%= error_tag form, :seqnum %>
<div>

View File

@@ -43,6 +43,10 @@
<%= error_tag form, :confirmed %>
</div>
<%= label form, :seqnum, "Arkistoitu (vuosi). Jätä tyhjäksi jos tulee näkyä Esiintyjät-sivulla." %>
<%= number_input form, :seqnum %>
<%= error_tag form, :seqnum %>
<div class="submit-button">
<%= submit "Tallenna" %>
</div>

View File

@@ -0,0 +1,3 @@
defmodule RunosaariWeb.ArchiveView do
use RunosaariWeb, :view
end