diff --git a/formula10/controller/admin_controller.py b/formula10/controller/admin_controller.py index 27f0d1e..d3c593d 100644 --- a/formula10/controller/admin_controller.py +++ b/formula10/controller/admin_controller.py @@ -31,7 +31,15 @@ def result_enter_post(race_name: str) -> Response: dnfs: List[str] = request.form.getlist("dnf-drivers") excluded: List[str] = request.form.getlist("excluded-drivers") - # @todo Ugly + fastest_lap: str | None = request.form.get("fastest-lap") + sprint_pxxs: List[str] = request.form.getlist("sprint-pxx-drivers") + sprint_dnf_drivers: List[str] = request.form.getlist("sprint-dnf-drivers") + + # @todo Integrate these into update_race_result() + print("Fastest lap:", fastest_lap) + print("Sprint:", sprint_pxxs) + print("Sprint DNFs:", sprint_dnf_drivers) + race_id: int = Model().race_by(race_name=race_name).id return update_race_result(race_id, pxxs, first_dnfs, dnfs, excluded) diff --git a/formula10/domain/template_model.py b/formula10/domain/template_model.py index 669775f..8d2bdca 100644 --- a/formula10/domain/template_model.py +++ b/formula10/domain/template_model.py @@ -69,6 +69,14 @@ class TemplateModel(Model): def current_race(self) -> Race | None: return self.first_race_without_result() + def active_result_race_or_current_race(self) -> Race: + if self.active_result is not None: + return self.active_result.race + elif self.current_race is not None: + return self.current_race + else: + return self.all_races()[0] + def active_result_race_name_or_current_race_name(self) -> str: if self.active_result is not None: return self.active_result.race.name diff --git a/formula10/static/style/grid.css b/formula10/static/style/grid.css index ba408d7..a7a7ae0 100644 --- a/formula10/static/style/grid.css +++ b/formula10/static/style/grid.css @@ -24,4 +24,4 @@ grid-row-gap: 0; grid-column-gap: 8px; } -} +} \ No newline at end of file diff --git a/formula10/templates/result.jinja b/formula10/templates/result.jinja index 2d1cd61..3390b54 100644 --- a/formula10/templates/result.jinja +++ b/formula10/templates/result.jinja @@ -42,24 +42,117 @@ {% block body %} -
+ {% 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 %} -
+
+ + {# Race result #} +
{{ 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 %} +
+ + {# Place numbers #} +
    + {% for driver in model.all_drivers_or_active_result_standing_drivers() %} +
  • P{{ "%02d" % loop.index }}: +
  • + {% endfor %} +
+ + {# Drag and drop, "#columns .column" is the selector for the JS #} +
    + + {% for driver in model.all_drivers_or_active_result_standing_drivers() %} +
  • + {{ driver.name }} + +
    + {# Fastest lap #} +
    + + +
    + + {# Driver DNFed at first #} +
    + + +
    + + {# Driver DNFed #} +
    + + +
    + + {# Driver Excluded #} +
    + + +
    +
    + + {# Standing order #} + +
  • + {% endfor %} +
+ + +
+
+
+
+ + {# Sprint result #} + {% if model.active_result_race_or_current_race().has_sprint == true %} +
+
+ Sprint +
+ +
+
+
- {# Place numbers #}
    {% for driver in model.all_drivers_or_active_result_standing_drivers() %} @@ -69,63 +162,41 @@ {% endfor %}
- {# Drag and drop #} + {# Drag and drop, "#columns .column" is the selector for the JS #}
    - - {% for driver in model.all_drivers_or_active_result_standing_drivers() %} + {% for driver in model.all_drivers(include_none=false) %}
  • {{ driver.name }}
    - {# Driver DNFed at first #} -
    - - -
    {# Driver DNFed #} -
    +
    -
    - - {# Driver Excluded #} -
    - - -
    {# Standing order #} - +
  • {% endfor %}
- - + +
-
-
+ {% endif %} + + {% endblock body %} \ No newline at end of file