From e0e6ec6bd5ae641f9509b1db006431891de24cc0 Mon Sep 17 00:00:00 2001 From: Christoph Urlacher Date: Sat, 2 Mar 2024 12:48:34 +0100 Subject: [PATCH] Disable more elements when form is closed --- formula10/templates/base.jinja | 16 ++++++------- formula10/templates/enter.jinja | 27 +++++++++++++++------ formula10/templates/race.jinja | 11 +++++---- formula10/templates/season.jinja | 40 ++++++++++++++++++-------------- 4 files changed, 56 insertions(+), 38 deletions(-) diff --git a/formula10/templates/base.jinja b/formula10/templates/base.jinja index fa6824b..3525e65 100644 --- a/formula10/templates/base.jinja +++ b/formula10/templates/base.jinja @@ -24,9 +24,9 @@ {% endmacro %} {# Simple driver select for forms #} -{% macro driver_select(name, label, include_none, drivers=none) %} +{% macro driver_select(name, label, include_none, drivers=none, disabled=false) %}
- {% if drivers == none %} @@ -42,9 +42,9 @@ {% endmacro %} {# Driver select for forms where a value might be preselected #} -{% macro driver_select_with_preselect(driver_match, name, label, include_none, drivers=none) %} +{% macro driver_select_with_preselect(driver_match, name, label, include_none, drivers=none, disabled=false) %}
- {# Use namespace wrapper to persist scope between loop iterations #} {% set user_has_chosen = namespace(driverpre=false) %} @@ -75,9 +75,9 @@ {% endmacro %} {# Simple team select for forms #} -{% macro team_select(name, label, include_none, teams=none) %} +{% macro team_select(name, label, include_none, teams=none, disabled=false) %}
- {% if teams == none %} @@ -93,9 +93,9 @@ {% endmacro %} {# Team select for forms where a value might be preselected #} -{% macro team_select_with_preselect(team_match, name, label, include_none, teams=none) %} +{% macro team_select_with_preselect(team_match, name, label, include_none, teams=none, disabled=false) %}
- {# Use namespace wrapper to persist scope between loop iterations #} {% set user_has_chosen = namespace(teampre=false) %} diff --git a/formula10/templates/enter.jinja b/formula10/templates/enter.jinja index 93d8bf3..328af53 100644 --- a/formula10/templates/enter.jinja +++ b/formula10/templates/enter.jinja @@ -51,17 +51,26 @@ {{ model.active_result_race_name_or_current_race_name() }} -
+ {% set race_result_open=model.race_result_open(model.active_result_race_name_or_current_race_name()) %} + {% if race_result_open == true %} + {% set action_save_href = "/result-enter/" ~ model.active_result_race_name_or_current_race_name_sanitized() %} + {% else %} + {% set action_save_href = "" %} + {% endif %} + +
    {% for driver in model.all_drivers_or_active_result_standing_drivers() %} -
  • P{{ "%02d" % loop.index }}:
  • +
  • P{{ "%02d" % loop.index }}: +
  • {% endfor %}
    {% for driver in model.all_drivers_or_active_result_standing_drivers() %} -
  • +
  • {{ driver.name }}
    @@ -69,7 +78,8 @@
    + {% if (model.active_result is not none) and (driver in model.active_result.initial_dnf) %}checked{% endif %} + {% if race_result_open == false %}disabled="disabled"{% endif %}>
    @@ -78,7 +88,8 @@
    + {% if (model.active_result is not none) and (driver in model.active_result.all_dnfs) %}checked{% endif %} + {% if race_result_open == false %}disabled="disabled"{% endif %}>
    @@ -87,7 +98,8 @@
    + {% if (model.active_result is not none) and (driver in model.active_result.standing_exclusions) %}checked{% endif %} + {% if race_result_open == false %}disabled="disabled"{% endif %}> @@ -100,7 +112,8 @@ {% endfor %}
- +
diff --git a/formula10/templates/race.jinja b/formula10/templates/race.jinja index 7910d8d..e6a6e44 100644 --- a/formula10/templates/race.jinja +++ b/formula10/templates/race.jinja @@ -101,7 +101,8 @@ - {% if model.race_guess_open(model.current_race) == true %} + {% set race_guess_open = model.race_guess_open(model.current_race) %} + {% if race_guess_open == true %} {% set action_save_href = "/race-guess/" ~ model.current_race.name_sanitized ~ "/" ~ model.active_user.name_sanitized %} {% set action_delete_href = "/race-guess-delete/" ~ model.current_race.name_sanitized ~ "/" ~ model.active_user.name_sanitized %} {% else %} @@ -114,21 +115,21 @@ {% set user_guess = model.race_guesses_by(user_name=model.active_user.name, race_name=model.current_race.name) %} {# Driver PXX Select #} - {{ driver_select_with_preselect(driver_match=user_guess.pxx_guess, name="pxxselect", label="P" ~ model.current_race.place_to_guess ~ ":", include_none=true) }} + {{ driver_select_with_preselect(driver_match=user_guess.pxx_guess, name="pxxselect", label="P" ~ model.current_race.place_to_guess ~ ":", include_none=true, disabled=not race_guess_open) }}
{# Driver DNF Select #} - {{ driver_select_with_preselect(driver_match=user_guess.dnf_guess, name="dnfselect", label="DNF:", include_none=true) }} + {{ driver_select_with_preselect(driver_match=user_guess.dnf_guess, name="dnfselect", label="DNF:", include_none=true, disabled=not race_guess_open) }} + {% if race_guess_open == false %}disabled="disabled"{% endif %}> {# Delete guess #}
+ {% if race_guess_open == false %}disabled{% endif %}>
diff --git a/formula10/templates/season.jinja b/formula10/templates/season.jinja index 0178c27..60158d5 100644 --- a/formula10/templates/season.jinja +++ b/formula10/templates/season.jinja @@ -28,7 +28,8 @@ {% set user_guess = model.season_guesses_by(user_name=user.name) %} - {% if model.season_guess_open() == true %} + {% set season_guess_open = model.season_guess_open() %} + {% if season_guess_open == true %} {% set action_save_href = "/season-guess/" ~ user.name %} {% else %} {% set action_save_href = "" %} @@ -37,33 +38,31 @@ {# Hot Take #}
- {% if user_guess is not none %} - - {% else %} - - {% endif %} +
{# P2 Constructor #}
- {{ team_select_with_preselect(team_match=user_guess.p2_wcc, name="p2select", label="P2 in WCC:", include_none=false) }} + {{ team_select_with_preselect(team_match=user_guess.p2_wcc, name="p2select", label="P2 in WCC:", include_none=false, disabled=not season_guess_open) }}
{# Most Overtakes + DNFs #}
- {{ driver_select_with_preselect(driver_match=user_guess.most_overtakes, name="overtakeselect", label="Most overtakes:", include_none=false) }} - {{ driver_select_with_preselect(driver_match=user_guess.most_dnfs, name="dnfselect", label="Most DNFs:", include_none=false) }} + {{ driver_select_with_preselect(driver_match=user_guess.most_overtakes, name="overtakeselect", label="Most overtakes:", include_none=false, disabled=not season_guess_open) }} + {{ driver_select_with_preselect(driver_match=user_guess.most_dnfs, name="dnfselect", label="Most DNFs:", include_none=false, disabled=not season_guess_open) }}
{# Most Gained + Lost #}
- {{ driver_select_with_preselect(driver_match=user_guess.most_wdc_gained, name="gainedselect", label="Most WDC places gained:", include_none=false, drivers=model.drivers_for_wdc_gained()) }} - {{ driver_select_with_preselect(driver_match=user_guess.most_wdc_lost, name="lostselect", label="Most WDC places lost:", include_none=false) }} + {{ driver_select_with_preselect(driver_match=user_guess.most_wdc_gained, name="gainedselect", label="Most WDC places gained:", include_none=false, drivers=model.drivers_for_wdc_gained(), disabled=not season_guess_open) }} + {{ driver_select_with_preselect(driver_match=user_guess.most_wdc_lost, name="lostselect", label="Most WDC places lost:", include_none=false, disabled=not season_guess_open) }}
{# Team-internal Winners #} @@ -81,7 +80,8 @@ name="teamwinner-{{ team.name }}" id="teamwinner-{{ team.name }}-1-{{ user.name }}" value="{{ driver_a.name }}" - {% if (user_guess is not none) and (driver_a in user_guess.team_winners) %}checked="checked"{% endif %}> + {% if (user_guess is not none) and (driver_a in user_guess.team_winners) %}checked="checked"{% endif %} + {% if season_guess_open == false %}disabled="disabled"{% endif %}>
@@ -93,7 +93,8 @@ name="teamwinner-{{ team.name }}" id="teamwinner-{{ team.name }}-2-{{ user.name }}" value="{{ driver_b.name }}" - {% if (user_guess is not none) and (driver_b in user_guess.team_winners) %}checked="checked"{% endif %}> + {% if (user_guess is not none) and (driver_b in user_guess.team_winners) %}checked="checked"{% endif %} + {% if season_guess_open == false %}disabled="disabled"{% endif %}>
@@ -115,7 +116,8 @@ name="podiumdrivers" id="podium-{{ driver_a.name }}-{{ user.name }}" value="{{ driver_a.name }}" - {% if (user_guess is not none) and (driver_a in user_guess.podiums) %}checked="checked"{% endif %}> + {% if (user_guess is not none) and (driver_a in user_guess.podiums) %}checked="checked"{% endif %} + {% if season_guess_open == false %}disabled="disabled"{% endif %}>
@@ -127,7 +129,8 @@ name="podiumdrivers" id="podium-{{ driver_b.name }}-{{ user.name }}" value="{{ driver_b.name }}" - {% if (user_guess is not none) and (driver_b in user_guess.podiums) %}checked="checked"{% endif %}> + {% if (user_guess is not none) and (driver_b in user_guess.podiums) %}checked="checked"{% endif %} + {% if season_guess_open == false %}disabled="disabled"{% endif %}> @@ -135,7 +138,8 @@ {% endfor %} - +