Split frontend model from backend model
All checks were successful
Build Formula10 Docker Image / build-docker (push) Successful in 26s

This commit is contained in:
2024-02-25 15:09:59 +01:00
parent a9b1bc4403
commit 991a1a177e
38 changed files with 1094 additions and 930 deletions

View File

@ -3,8 +3,8 @@ from urllib.parse import unquote
from flask import redirect, render_template, request
from werkzeug import Response
from formula10.database.update_query_util import update_race_result, update_user
from formula10.database.import_export_util import export_dynamic_data, reload_dynamic_data, reload_static_data
from formula10.database.update_queries import update_race_result, update_user
from formula10.database.import_export import export_dynamic_data, reload_dynamic_data, reload_static_data
from formula10.frontend.template_model import TemplateModel
from formula10 import app
@ -42,10 +42,10 @@ def result_root() -> Response:
@app.route("/result/<race_name>")
def result_active_race(race_name: str) -> str:
race_name = unquote(race_name)
model = TemplateModel()
return render_template("enter.jinja",
active_result=model.race_result_by(race_name=race_name),
model=model)
model = TemplateModel(active_user_name=None,
active_result_race_name=race_name)
return render_template("enter.jinja", model=model)
@app.route("/result-enter/<race_name>", methods=["POST"])
@ -61,9 +61,10 @@ def result_enter_post(race_name: str) -> Response:
@app.route("/user")
def user_root() -> str:
model = TemplateModel()
return render_template("users.jinja",
model=model)
model = TemplateModel(active_user_name=None,
active_result_race_name=None)
return render_template("users.jinja", model=model)
@app.route("/user-add", methods=["POST"])

View File

@ -2,7 +2,7 @@ from urllib.parse import unquote
from flask import redirect, render_template, request
from werkzeug import Response
from formula10.database.update_query_util import delete_race_guess, update_race_guess
from formula10.database.update_queries import delete_race_guess, update_race_guess
from formula10.frontend.template_model import TemplateModel
from formula10 import app
@ -20,10 +20,10 @@ def race_root() -> Response:
@app.route("/race/<user_name>")
def race_active_user(user_name: str) -> str:
user_name = unquote(user_name)
model = TemplateModel()
return render_template("race.jinja",
active_user=model.user_by(user_name=user_name, ignore=["Everyone"]),
model=model)
model = TemplateModel(active_user_name=user_name,
active_result_race_name=None)
return render_template("race.jinja", model=model)
@app.route("/race-guess/<race_name>/<user_name>", methods=["POST"])

View File

@ -3,8 +3,8 @@ from urllib.parse import unquote
from flask import redirect, render_template, request
from werkzeug import Response
from formula10.database.model.team import Team
from formula10.database.update_query_util import update_season_guess
from formula10.database.model.db_team import DbTeam
from formula10.database.update_queries import update_season_guess
from formula10.frontend.template_model import TemplateModel
from formula10 import app, db
@ -17,10 +17,10 @@ def season_root() -> Response:
@app.route("/season/<user_name>")
def season_active_user(user_name: str) -> str:
user_name = unquote(user_name)
model = TemplateModel()
return render_template("season.jinja",
active_user=model.user_by(user_name=user_name, ignore=["Everyone"]),
model=model)
model = TemplateModel(active_user_name=user_name,
active_result_race_name=None)
return render_template("season.jinja", model=model)
@app.route("/season-guess/<user_name>", methods=["POST"])
@ -36,7 +36,7 @@ def season_guess_post(user_name: str) -> Response:
]
# TODO: This is pretty ugly, to do queries in the controller
team_winner_guesses: List[str | None] = [
request.form.get(f"teamwinner-{team.name}") for team in db.session.query(Team).all()
request.form.get(f"teamwinner-{team.name}") for team in db.session.query(DbTeam).all()
]
podium_driver_guesses: List[str] = request.form.getlist("podiumdrivers")