Allow selecting single users to view
This commit is contained in:
@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
{# Easy nav-bar entries. When a page sets the active_page variable, the current entry will be underlined #}
|
{# Easy nav-bar entries. When a page sets the active_page variable, the current entry will be underlined #}
|
||||||
{% macro nav_selector(page='', text='') %}
|
{% macro nav_selector(page='', text='') %}
|
||||||
<a class="nav-link" href="/{{ page }}">{% if active_page == page %}<u>{% endif %} {{ text }}
|
<a class="nav-link text-nowrap" href="/{{ page }}">{% if active_page == page %}<u>{% endif %} {{ text }}
|
||||||
{% if active_page == page %}</u>{% endif %}</a>
|
{% if active_page == page %}</u>{% endif %}</a>
|
||||||
{% endmacro %}
|
{% endmacro %}
|
||||||
|
|
||||||
@ -110,18 +110,28 @@
|
|||||||
<a class="navbar-brand" href="/">
|
<a class="navbar-brand" href="/">
|
||||||
<img src="../static/image/f1_logo.svg" alt="Logo" width="120" height="30"
|
<img src="../static/image/f1_logo.svg" alt="Logo" width="120" height="30"
|
||||||
class="d-inline-block align-text-top">
|
class="d-inline-block align-text-top">
|
||||||
Formula <i>10</i> - 2024
|
Formula <i>10</i>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
<button type="button" class="navbar-toggler" data-bs-toggle="collapse" data-bs-target="#navbarCollapse">
|
<button type="button" class="navbar-toggler" data-bs-toggle="collapse" data-bs-target="#navbarCollapse">
|
||||||
<span class="navbar-toggler-icon"></span>
|
<span class="navbar-toggler-icon"></span>
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
<div class="collapse navbar-collapse" id="navbarCollapse">
|
<div class="collapse navbar-collapse" id="navbarCollapse">
|
||||||
<div class="navbar-nav">
|
<div class="navbar-nav me-2">
|
||||||
{{ nav_selector("race", "Guess Race") }}
|
{{ nav_selector("race", "Guess Race") }}
|
||||||
{{ nav_selector("season", "Guess Season") }}
|
{{ nav_selector("season", "Guess Season") }}
|
||||||
{{ nav_selector("graphs", "Statistics") }}
|
{{ nav_selector("graphs", "Statistics") }}
|
||||||
{{ nav_selector("rules", "Rules") }}
|
{{ nav_selector("rules", "Rules") }}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
{% block navbar_center %}{% endblock navbar_center %}
|
||||||
|
<div class="flex-grow-1"></div>
|
||||||
|
|
||||||
|
<div class="navbar-nav">
|
||||||
|
{{ nav_selector("enter", "Enter Race Result") }}
|
||||||
|
{{ nav_selector("users", "Manage Users") }}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
|||||||
@ -2,7 +2,22 @@
|
|||||||
|
|
||||||
{% set active_page = "race" %}
|
{% set active_page = "race" %}
|
||||||
|
|
||||||
{% block title %}Formula 10{% endblock title %}
|
{% block title %}Formula 10 - Race{% endblock title %}
|
||||||
|
|
||||||
|
{% block navbar_center %}
|
||||||
|
<div class="dropdown">
|
||||||
|
<button class="btn btn-outline-danger dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-expanded="false">
|
||||||
|
{{ chosenusername }}
|
||||||
|
</button>
|
||||||
|
<ul class="dropdown-menu">
|
||||||
|
<li><a class="dropdown-item" href="/race/Everyone">Everyone</a></li>
|
||||||
|
<li><hr class="dropdown-divider"></li>
|
||||||
|
{% for user in users %}
|
||||||
|
<li><a class="dropdown-item" href="/race/{{ user.name }}">{{ user.name }}</a></li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
{% endblock navbar_center %}
|
||||||
|
|
||||||
{% block body %}
|
{% block body %}
|
||||||
|
|
||||||
@ -10,7 +25,7 @@
|
|||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="col" rowspan="2" class="text-center">Race</th>
|
<th scope="col" rowspan="2" class="text-center">Race</th>
|
||||||
<th scope="col" colspan="{{ users | length }}" class="text-center">Call</th>
|
<th scope="col" colspan="{{ chosenusers | length }}" class="text-center">Call</th>
|
||||||
<th scope="col" rowspan="2" class="text-center">Result</th>
|
<th scope="col" rowspan="2" class="text-center">Result</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
@ -21,7 +36,7 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<td> </td>
|
<td> </td>
|
||||||
|
|
||||||
{% for user in users %}
|
{% for user in chosenusers %}
|
||||||
<td class="text-center text-nowrap">{{ user.name }}</td>
|
<td class="text-center text-nowrap">{{ user.name }}</td>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
||||||
@ -33,7 +48,7 @@
|
|||||||
<tr class="table-light">
|
<tr class="table-light">
|
||||||
<td class="text-nowrap"><span class="fw-bold">{{ nextrace.id }}:</span> {{ nextrace.grandprix }}</td>
|
<td class="text-nowrap"><span class="fw-bold">{{ nextrace.id }}:</span> {{ nextrace.grandprix }}</td>
|
||||||
|
|
||||||
{% for user in users %}
|
{% for user in chosenusers %}
|
||||||
<td>
|
<td>
|
||||||
<form action="/guessrace/{{ nextrace.id }}/{{ user.name }}" method="post">
|
<form action="/guessrace/{{ nextrace.id }}/{{ user.name }}" method="post">
|
||||||
{# Driver PXX Select #}
|
{# Driver PXX Select #}
|
||||||
@ -73,7 +88,7 @@
|
|||||||
<td class="text-nowrap"><span
|
<td class="text-nowrap"><span
|
||||||
class="fw-bold">{{ raceresult.race.id }}:</span> {{ raceresult.race.grandprix }}</td>
|
class="fw-bold">{{ raceresult.race.id }}:</span> {{ raceresult.race.grandprix }}</td>
|
||||||
|
|
||||||
{% for user in users %}
|
{% for user in chosenusers %}
|
||||||
<td class="text-center text-nowrap">
|
<td class="text-center text-nowrap">
|
||||||
{% if (raceresult.race_id in pastguesses) and (user.name in pastguesses.get(raceresult.race_id)) %}
|
{% if (raceresult.race_id in pastguesses) and (user.name in pastguesses.get(raceresult.race_id)) %}
|
||||||
{% set pxx = pastguesses.get(raceresult.race_id).get(user.name).pxx.abbr %}
|
{% set pxx = pastguesses.get(raceresult.race_id).get(user.name).pxx.abbr %}
|
||||||
|
|||||||
@ -2,13 +2,30 @@
|
|||||||
|
|
||||||
{% set active_page = "season" %}
|
{% set active_page = "season" %}
|
||||||
|
|
||||||
{% block title %}Formula 10{% endblock title %}
|
{% block title %}Formula 10 - Season{% endblock title %}
|
||||||
|
|
||||||
|
{% block navbar_center %}
|
||||||
|
<div class="dropdown">
|
||||||
|
<button class="btn btn-outline-danger dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-expanded="false">
|
||||||
|
{{ chosenusername }}
|
||||||
|
</button>
|
||||||
|
<ul class="dropdown-menu">
|
||||||
|
<li><a class="dropdown-item" href="/season/Everyone">Everyone</a></li>
|
||||||
|
<li><hr class="dropdown-divider"></li>
|
||||||
|
{% for user in users %}
|
||||||
|
<li><a class="dropdown-item" href="/season/{{ user.name }}">{{ user.name }}</a></li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
{% endblock navbar_center %}
|
||||||
|
|
||||||
{% block body %}
|
{% block body %}
|
||||||
|
|
||||||
|
<h4 class="heading-text text-danger text-center">All fields (of a single user, excluding podiums) must be set or your inputs won't be saved!</h4>
|
||||||
|
|
||||||
<div class="grid" style="grid-template-columns: repeat(auto-fit, minmax(450px, 1fr));">
|
<div class="grid" style="grid-template-columns: repeat(auto-fit, minmax(450px, 1fr));">
|
||||||
{% for user in users %}
|
{% for user in chosenusers %}
|
||||||
<div class="card mb-2 shadow-sm">
|
<div class="card mb-2 shadow-sm" style="width: 450px;">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<h5 class="card-title">{{ user.name }}</h5>
|
<h5 class="card-title">{{ user.name }}</h5>
|
||||||
<form action="/guessseason/{{ user.name }}" method="post">
|
<form action="/guessseason/{{ user.name }}" method="post">
|
||||||
@ -24,31 +41,31 @@
|
|||||||
{# P2 Constructor #}
|
{# P2 Constructor #}
|
||||||
<div class="mt-2">
|
<div class="mt-2">
|
||||||
{{ team_select_with_preselect(currentselection.get(user.name).p2_constructor.name if user.name in currentselection else "",
|
{{ team_select_with_preselect(currentselection.get(user.name).p2_constructor.name if user.name in currentselection else "",
|
||||||
"p2select", "P2 Constructor:") }}
|
"p2select", "P2 Constructor:") }}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{# Most Overtakes #}
|
{# Most Overtakes #}
|
||||||
<div class="mt-2">
|
<div class="mt-2">
|
||||||
{{ driver_select_with_preselect(currentselection.get(user.name).most_overtakes.abbr if user.name in currentselection else "",
|
{{ driver_select_with_preselect(currentselection.get(user.name).most_overtakes.abbr if user.name in currentselection else "",
|
||||||
"overtakeselect", "Most Overtakes:") }}
|
"overtakeselect", "Most Overtakes:") }}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{# Most DNFs #}
|
{# Most DNFs #}
|
||||||
<div class="mt-2">
|
<div class="mt-2">
|
||||||
{{ driver_select_with_preselect(currentselection.get(user.name).most_dnfs.abbr if user.name in currentselection else "",
|
{{ driver_select_with_preselect(currentselection.get(user.name).most_dnfs.abbr if user.name in currentselection else "",
|
||||||
"dnfselect", "Most DNFs:") }}
|
"dnfselect", "Most DNFs:") }}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{# Most Gained #}
|
{# Most Gained #}
|
||||||
<div class="mt-2">
|
<div class="mt-2">
|
||||||
{{ driver_select_with_preselect(currentselection.get(user.name).most_gained.abbr if user.name in currentselection else "",
|
{{ driver_select_with_preselect(currentselection.get(user.name).most_gained.abbr if user.name in currentselection else "",
|
||||||
"gainedselect", "Most Championship Positions gained:") }}
|
"gainedselect", "Most Championship Positions gained:") }}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{# Most Lost #}
|
{# Most Lost #}
|
||||||
<div class="mt-2">
|
<div class="mt-2">
|
||||||
{{ driver_select_with_preselect(currentselection.get(user.name).most_lost.abbr if user.name in currentselection else "",
|
{{ driver_select_with_preselect(currentselection.get(user.name).most_lost.abbr if user.name in currentselection else "",
|
||||||
"lostselect", "Most Championship Positions lost:") }}
|
"lostselect", "Most Championship Positions lost:") }}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{# Team-internal Winners #}
|
{# Team-internal Winners #}
|
||||||
|
|||||||
Reference in New Issue
Block a user