Compare commits

3 Commits

Author SHA1 Message Date
0a30fda9a4 Disabling depot wish comboboxes after the first round & updated the depot choices. 2026-02-21 22:55:49 +01:00
b2ef39df76 Displaying users email address on bidding form. 2026-02-21 22:44:31 +01:00
8c3e7b3ee8 Merge tag '0.7.1' into develop
Working BeetRound server with configuration for prod environment.
2026-02-21 11:56:44 +01:00

View File

@ -10,7 +10,7 @@ defmodule BeetRoundServerWeb.BiddingLive.Form do
~H"""
<Layouts.app flash={@flash} current_scope={@current_scope}>
<.header>
{@page_title}
{@page_title} ({@current_scope.user.email})
<:subtitle>Bitte gib hier den Betrag ein, den Du monatlich bezahlen willst.</:subtitle>
</.header>
<%= if @bidding.bidding_round == 0 do %>
@ -20,46 +20,58 @@ defmodule BeetRoundServerWeb.BiddingLive.Form do
</footer>
<% else %>
<.form for={@form} id="bidding-form" phx-change="validate" phx-submit="save">
<.input field={@form[:amount]} type="number" label="Betrag" />
<.input
field={@form[:depot_wish_one]}
type="select"
label="Depot Wunsch 1"
options={[
{"", ""},
{"KlimaWerkStadt (1)", "KlimaWerkStadt"},
{"Puramila (2)", "Puramila"},
{"Eine Welt Aktion (3)", "Eine Welt Aktion"},
{"Hof Buntentor (4)", "Hof Buntentor"},
{"Mädchen-Kulturhaus (5)", "Mädchen-Kulturhaus"},
{"neues Depot im Viertel (6)", "neues Depot im Viertel"},
{"Creative Hub (7)", "Creative Hub"},
{"Klimazone (8)", "Klimazone"},
{"Garage Walle (9)", "Garage Walle"},
{"Hof Riede (A)", "Hof Riede"},
{"Thedinghausen (B)", "Thedinghausen"}
]}
/>
<.input
field={@form[:depot_wish_two]}
type="select"
label="Depot Wunsch 2"
options={[
{"", ""},
{"KlimaWerkStadt (1)", "KlimaWerkStadt"},
{"Puramila (2)", "Puramila"},
{"Eine Welt Aktion (3)", "Eine Welt Aktion"},
{"Hof Buntentor (4)", "Hof Buntentor"},
{"Mädchen-Kulturhaus (5)", "Mädchen-Kulturhaus"},
{"neues Depot im Viertel (6)", "neues Depot im Viertel"},
{"Creative Hub (7)", "Creative Hub"},
{"Klimazone (8)", "Klimazone"},
{"Garage Walle (9)", "Garage Walle"},
{"Hof Riede (A)", "Hof Riede"},
{"Thedinghausen (B)", "Thedinghausen"}
]}
/>
<.input field={@form[:bidding_round]} type="number" readonly hidden />
<p>
Wenn du für einen halben Anteil bietest, orientiere dich bitte an einen Richtwert von 56 €.
</p>
<br />
<p><b>Bietrunde: {@bidding.bidding_round}</b></p>
<%= if @bidding.bidding_round == 1 do %>
<.input field={@form[:amount]} type="number" label="Betrag/Monat" />
<.input
field={@form[:depot_wish_one]}
type="select"
label="Depot Wunsch 1"
options={[
{"", ""},
{"Puramila (1)", "Puramila"},
{"Eine Welt Aktion (2)", "Eine Welt Aktion"},
{"KlimaWerkStadt (3)", "KlimaWerkStadt"},
{"Buntentorsteinweg 231, Abholschrank (4)", "Buntentorsteinweg 231, Abholschrank"},
{"Klimazone (5)", "Klimazone"},
{"Hof von bude e.V., Abholschrank(6)", "Hof von bude e.V., Abholschrank"},
{"Lagerhaus, Abholschrank (7)", "Lagerhaus, Abholschrank"},
{"KARL, Abholschrank (8)", "KARL, Abholschrank"},
{"Hof Riede (A)", "Hof Riede"},
{"Thedinghausen (B)", "Thedinghausen"},
{"Achim (Planung ab April) (C)", "Achim"}
]}
/>
<.input
field={@form[:depot_wish_two]}
type="select"
label="Depot Wunsch 2"
options={[
{"", ""},
{"Puramila (1)", "Puramila"},
{"Eine Welt Aktion (2)", "Eine Welt Aktion"},
{"KlimaWerkStadt (3)", "KlimaWerkStadt"},
{"Buntentorsteinweg 231, Abholschrank (4)", "Buntentorsteinweg 231, Abholschrank"},
{"Klimazone (5)", "Klimazone"},
{"Hof von bude e.V., Abholschrank(6)", "Hof von bude e.V., Abholschrank"},
{"Lagerhaus, Abholschrank (7)", "Lagerhaus, Abholschrank"},
{"KARL, Abholschrank (8)", "KARL, Abholschrank"},
{"Hof Riede (A)", "Hof Riede"},
{"Thedinghausen (B)", "Thedinghausen"},
{"Achim (Planung ab April) (C)", "Achim"}
]}
/>
<.input field={@form[:bidding_round]} type="hidden" readonly />
<% else %>
<.input field={@form[:amount]} type="number" label="Betrag/Monat" />
<.input field={@form[:depot_wish_one]} type="hidden" readonly />
<.input field={@form[:depot_wish_two]} type="hidden" readonly />
<.input field={@form[:bidding_round]} type="hidden" readonly />
<% end %>
<footer>
<.button phx-disable-with="Bearbeitung..." variant="primary">Gebot abgeben</.button>
<.button navigate={return_path(@current_scope, @return_to, @bidding)}>Abbrechen</.button>
@ -96,15 +108,33 @@ defmodule BeetRoundServerWeb.BiddingLive.Form do
defp apply_action(socket, :new, _params) do
current_round = BiddingRoundFacade.get_current_round()
bidding = %Bidding{
user_id: socket.assigns.current_scope.user.id,
bidding_round: current_round
}
current_bidding = Biddings.get_most_recent_bidding(socket.assigns.current_scope)
socket
|> assign(:page_title, "Neues Gebot")
|> assign(:bidding, bidding)
|> assign(:form, to_form(Biddings.change_bidding(socket.assigns.current_scope, bidding)))
case current_bidding do
nil ->
bidding = %Bidding{
user_id: socket.assigns.current_scope.user.id,
bidding_round: current_round
}
socket
|> assign(:page_title, "Neues Gebot")
|> assign(:bidding, bidding)
|> assign(:form, to_form(Biddings.change_bidding(socket.assigns.current_scope, bidding)))
%Bidding{} ->
bidding = %Bidding{
user_id: socket.assigns.current_scope.user.id,
bidding_round: current_round,
depot_wish_one: current_bidding.depot_wish_one,
depot_wish_two: current_bidding.depot_wish_two
}
socket
|> assign(:page_title, "Neues Gebot")
|> assign(:bidding, bidding)
|> assign(:form, to_form(Biddings.change_bidding(socket.assigns.current_scope, bidding)))
end
end
@impl true