Add rules page
All checks were successful
Build Formula10 Docker Image / build-docker (push) Successful in 15s
All checks were successful
Build Formula10 Docker Image / build-docker (push) Successful in 15s
This commit is contained in:
@ -11,20 +11,26 @@ db.init_app(app)
|
|||||||
|
|
||||||
# NOTE: These imports are required to register the routes. They need to be imported after "app" is declared
|
# NOTE: These imports are required to register the routes. They need to be imported after "app" is declared
|
||||||
import formula10.controller.race_controller # type: ignore
|
import formula10.controller.race_controller # type: ignore
|
||||||
import formula10.controller.season_controller # type: ignore
|
import formula10.controller.season_controller
|
||||||
import formula10.controller.admin_controller # type: ignore
|
import formula10.controller.admin_controller
|
||||||
|
import formula10.controller.rules_controller
|
||||||
|
|
||||||
|
|
||||||
# TODO
|
# TODO
|
||||||
# General
|
# General
|
||||||
|
|
||||||
# - Show date for race name, also store time in database
|
# Date stuff:
|
||||||
|
# - Date lock race guess entering + race result entering + season guess entering (frontend + backend)
|
||||||
|
# - Show timer until next race?
|
||||||
|
|
||||||
# - Choose "place to guess" late before the race? Make a page for this?
|
# - Choose "place to guess" late before the race? Make a page for this?
|
||||||
# - Rules page
|
# - Rules page
|
||||||
|
# - Store currently active user inside cookie
|
||||||
|
|
||||||
# - Make user order changeable using drag'n'drop?
|
# - Make user order changeable using drag'n'drop?
|
||||||
# - Show place when entering race result (would require updating the drag'n'drop code...)
|
# - Show place when entering race result (would require updating the drag'n'drop code...)
|
||||||
# - Show cards of previous race results, like with season guesses?
|
# - Show cards of previous race results, like with season guesses?
|
||||||
|
# - Don't write full 2024 date, just 24 or leave out completely, to make column smaller
|
||||||
|
|
||||||
# Statistics
|
# Statistics
|
||||||
# - Rename "Statistics" to "Leaderboard"
|
# - Rename "Statistics" to "Leaderboard"
|
||||||
|
10
formula10/controller/rules_controller.py
Normal file
10
formula10/controller/rules_controller.py
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
from flask import render_template
|
||||||
|
|
||||||
|
from formula10 import app
|
||||||
|
from formula10.frontend.template_model import TemplateModel
|
||||||
|
|
||||||
|
@app.route("/rules")
|
||||||
|
def rules_root() -> str:
|
||||||
|
model = TemplateModel(active_user_name=None, active_result_race_name=None)
|
||||||
|
|
||||||
|
return render_template("rules.jinja", model=model)
|
88
formula10/templates/rules.jinja
Normal file
88
formula10/templates/rules.jinja
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
{% extends 'base.jinja' %}
|
||||||
|
|
||||||
|
{% block title %}Formula 10 - Rules{% endblock title %}
|
||||||
|
|
||||||
|
{% set active_page = "/rules" %}
|
||||||
|
|
||||||
|
{% block body %}
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-body">
|
||||||
|
<h5 class="card-title">Format</h5>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Das Tippspiel wird dieses Jahr in zwei Teile aufgespalten: Renntips (für jedes Rennen) und Bonustipps
|
||||||
|
(für die ganze Saison).
|
||||||
|
Renntipps müssen bis Rennstart, Bonustipps bis 1. März abgegeben werden.
|
||||||
|
Tipps können entweder selbst eingetragen werden, oder in die Gruppe geschrieben werden, um gültig zu
|
||||||
|
sein.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="card mt-2">
|
||||||
|
<div class="card-body">
|
||||||
|
<h5 class="card-title">Renntipps</h5>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Jedes Rennen besteht aus zwei Tipps.
|
||||||
|
Einem Platzierungstipp (PX-Tipp) und einem Tipp welcher Fahrer als Erstes das Rennen abbricht
|
||||||
|
(DNF-Tipp).
|
||||||
|
Anders als beim P10-Tipp letztes Jahr wird dieses Mal jedes Rennen eine andere Platzierung getippt.
|
||||||
|
Die zu tippende Platzierung wird auf der Tabellen-Übersichtsseite und im Fahrer-Auswahlmenü angezeigt.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
DNS zählt hierbei nicht als DNF, außerdem besteht die Möglichkeit zu tippen, dass kein Fahrer DNF't oder
|
||||||
|
das Rennen auf PX beendet.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="card mt-2">
|
||||||
|
<div class="card-body">
|
||||||
|
<h5 class="card-title">Punkte</h5>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Für einen korrekten Tipp werden 10 Punkte vergeben.
|
||||||
|
Beim PX-Tipp werden 6 Punkte für einen Platz Abweichung, 3 Punkte für zwei plätze Abweichung und 1 Punkt
|
||||||
|
für 3 Plätze Abweichung vergeben.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Beim DNF-Tipp werden keine Abweichungspunkte vergeben, ebensowenig wie bei der Auswahl "Keiner" für den
|
||||||
|
PX-Tipp.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="card mt-2">
|
||||||
|
<div class="card-body">
|
||||||
|
<h5 class="card-title">Bonustipps</h5>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Zusätzlich gibt es dieses Jahr auch Tipps, die sich auf die ganze Saison beziehen und verschieden
|
||||||
|
bepunktet werden.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<ul class="list-group list-group-numbered">
|
||||||
|
<li class="list-group-item">Welches Team wird P2 in der constructors championship? (10 Punkte für die
|
||||||
|
richtige Antwort / 0 Punkte für eine falsche Antwort)
|
||||||
|
</li>
|
||||||
|
<li class="list-group-item">Welcher Fahrer verbessert am meisten seine Platzierung in der drivers
|
||||||
|
championship im Vergleich zum Vorjahr? (10/0)
|
||||||
|
</li>
|
||||||
|
<li class="list-group-item">Welcher Fahrer verschlechtert am meisten seine Platzierung in der drivers
|
||||||
|
championship im Vergleich zum Vorjahr? (10/0)
|
||||||
|
</li>
|
||||||
|
<li class="list-group-item">Welcher Fahrer hat die meisten DNFs? (10/0)</li>
|
||||||
|
<li class="list-group-item">Welcher Fahrer hat die meisten Überholungen? (10/0)</li>
|
||||||
|
<li class="list-group-item">Nenne alle Fahrer, die mindestens einmal auf dem Podium stehen werden.
|
||||||
|
(3/-2, nicht-gegebene Antworten zählen als falsch)
|
||||||
|
</li>
|
||||||
|
<li class="list-group-item">Nenne für alle Teams den Sieger des teaminternen Duells. (3/-3)</li>
|
||||||
|
<li class="list-group-item">Nenne einen hot-take für die Saison (10/0, "hotness" wird vorher abgesegnet)</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{% endblock body %}
|
Reference in New Issue
Block a user