Disabling depot wish comboboxes after the first round & updated the depot choices.

This commit is contained in:
2026-02-21 22:46:48 +01:00
parent b2ef39df76
commit 0a30fda9a4

View File

@ -20,24 +20,30 @@ 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" />
<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={[
{"", ""},
{"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"},
{"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"}
{"Thedinghausen (B)", "Thedinghausen"},
{"Achim (Planung ab April) (C)", "Achim"}
]}
/>
<.input
@ -46,20 +52,26 @@ defmodule BeetRoundServerWeb.BiddingLive.Form do
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"},
{"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"}
{"Thedinghausen (B)", "Thedinghausen"},
{"Achim (Planung ab April) (C)", "Achim"}
]}
/>
<.input field={@form[:bidding_round]} type="number" readonly hidden />
<.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,6 +108,10 @@ defmodule BeetRoundServerWeb.BiddingLive.Form do
defp apply_action(socket, :new, _params) do
current_round = BiddingRoundFacade.get_current_round()
current_bidding = Biddings.get_most_recent_bidding(socket.assigns.current_scope)
case current_bidding do
nil ->
bidding = %Bidding{
user_id: socket.assigns.current_scope.user.id,
bidding_round: current_round
@ -105,6 +121,20 @@ defmodule BeetRoundServerWeb.BiddingLive.Form do
|> 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