Compare commits
3 Commits
d6e4480d6d
...
218ec19bf9
| Author | SHA1 | Date | |
|---|---|---|---|
| 218ec19bf9 | |||
| 7d09e00d60 | |||
| 412b5edf20 |
@ -161,6 +161,8 @@ def season_guess_post(user_name: str):
|
||||
seasonguess.dnf_driver_name = guesses[3] # Pylance throws error but nullcheck is done
|
||||
seasonguess.gained_driver_name = guesses[4] # Pylance throws error but nullcheck is done
|
||||
seasonguess.lost_driver_name = guesses[5] # Pylance throws error but nullcheck is done
|
||||
seasonguess.team_winners_id = user_name
|
||||
seasonguess.podium_drivers_id = user_name
|
||||
db.session.commit()
|
||||
|
||||
return redirect(f"/season/{user_name}")
|
||||
|
||||
16
model.py
16
model.py
@ -359,7 +359,8 @@ class SeasonGuess(db.Model):
|
||||
"""
|
||||
__tablename__ = "seasonguess"
|
||||
__csv_header__ = ["user_name", "hot_take", "p2_team_name",
|
||||
"overtake_driver_name", "dnf_driver_name", "gained_driver_name", "lost_driver_name"]
|
||||
"overtake_driver_name", "dnf_driver_name", "gained_driver_name", "lost_driver_name",
|
||||
"team_winners_id", "podium_drivers_id"]
|
||||
|
||||
def from_csv(self, row):
|
||||
self.user_name = str(row[0]) # Also used as foreign key for teamwinners + podiumdrivers
|
||||
@ -369,6 +370,8 @@ class SeasonGuess(db.Model):
|
||||
self.dnf_driver_name = str(row[4])
|
||||
self.gained_driver_name = str(row[5])
|
||||
self.lost_driver_name = str(row[6])
|
||||
self.team_winners_id = str(row[7])
|
||||
self.podium_drivers_id = str(row[8])
|
||||
return self
|
||||
|
||||
def to_csv(self):
|
||||
@ -380,6 +383,8 @@ class SeasonGuess(db.Model):
|
||||
self.dnf_driver_name,
|
||||
self.gained_driver_name,
|
||||
self.lost_driver_name,
|
||||
self.team_winners_id,
|
||||
self.podium_drivers_id
|
||||
]
|
||||
|
||||
user_name: Mapped[str] = mapped_column(ForeignKey("user.name"), primary_key=True)
|
||||
@ -390,6 +395,9 @@ class SeasonGuess(db.Model):
|
||||
gained_driver_name: Mapped[str] = mapped_column(ForeignKey("driver.name"))
|
||||
lost_driver_name: Mapped[str] = mapped_column(ForeignKey("driver.name"))
|
||||
|
||||
team_winners_id: Mapped[str] = mapped_column(ForeignKey("teamwinners.user_name"))
|
||||
podium_drivers_id: Mapped[str] = mapped_column(ForeignKey("podiumdrivers.user_name"))
|
||||
|
||||
# Relationships
|
||||
user: Mapped["User"] = relationship("User", foreign_keys=[user_name])
|
||||
p2_team: Mapped["Team"] = relationship("Team", foreign_keys=[p2_team_name])
|
||||
@ -398,7 +406,5 @@ class SeasonGuess(db.Model):
|
||||
gained_driver: Mapped["Driver"] = relationship("Driver", foreign_keys=[gained_driver_name])
|
||||
lost_driver: Mapped["Driver"] = relationship("Driver", foreign_keys=[lost_driver_name])
|
||||
|
||||
team_winners: Mapped["TeamWinners"] = relationship("TeamWinners", foreign_keys=[user_name],
|
||||
primaryjoin="SeasonGuess.user_name == TeamWinners.user_name")
|
||||
podium_drivers: Mapped["PodiumDrivers"] = relationship("PodiumDrivers", foreign_keys=[user_name],
|
||||
primaryjoin="SeasonGuess.user_name == PodiumDrivers.user_name")
|
||||
team_winners: Mapped["TeamWinners"] = relationship("TeamWinners", foreign_keys=[team_winners_id])
|
||||
podium_drivers: Mapped["PodiumDrivers"] = relationship("PodiumDrivers", foreign_keys=[podium_drivers_id])
|
||||
|
||||
@ -108,7 +108,6 @@ class TemplateModel:
|
||||
if self._all_race_results is None:
|
||||
self._all_race_results = RaceResult.query.join(RaceResult.race).order_by(desc(Race.number)).all()
|
||||
|
||||
print(self._all_race_results)
|
||||
return self._all_race_results
|
||||
|
||||
def race_result_by(self, *, race_name: str) -> RaceResult | None:
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
{# Simple driver dropdown. Requires list of drivers. #}
|
||||
{% macro driver_select(name='', label='', include_none=true) %}
|
||||
<div class="form-floating">
|
||||
<select name="{{ name }}" class="form-select" aria-label="{{ name }}">
|
||||
<select name="{{ name }}" id="{{ name }}" class="form-select" aria-label="{{ name }}">
|
||||
<option value="" selected disabled hidden></option>
|
||||
{% if include_none == true %}
|
||||
{% set drivers = model.all_drivers() %}
|
||||
@ -23,7 +23,7 @@
|
||||
{# Driver dropdown where a value might be preselected. Requires list of drivers. #}
|
||||
{% macro driver_select_with_preselect(match='', name='', label='', include_none=true) %}
|
||||
<div class="form-floating">
|
||||
<select name="{{ name }}" class="form-select" aria-label="{{ name }}">
|
||||
<select name="{{ name }}" id="{{ name }}" class="form-select" aria-label="{{ name }}">
|
||||
{# Use namespace wrapper to persist scope between loop iterations #}
|
||||
{% set user_has_chosen = namespace(driverpre="false") %}
|
||||
|
||||
@ -54,7 +54,7 @@
|
||||
{# Simple team dropdown. Requires list of teams. #}
|
||||
{% macro team_select(name='', label='') %}
|
||||
<div class="form-floating">
|
||||
<select name="{{ name }}" class="form-select" aria-label="{{ name }}">
|
||||
<select name="{{ name }}" id="{{ name }}" class="form-select" aria-label="{{ name }}">
|
||||
<option value="" selected disabled hidden></option>
|
||||
{% for team in model.all_teams() %}
|
||||
<option value="{{ team.name }}">{{ team.name }}</option>
|
||||
@ -67,7 +67,7 @@
|
||||
{# Team dropdown where a value might be preselected. Requires list of teams. #}
|
||||
{% macro team_select_with_preselect(match='', name='', label='') %}
|
||||
<div class="form-floating">
|
||||
<select name="{{ name }}" class="form-select" aria-label="{{ name }}">
|
||||
<select name="{{ name }}" id="{{ name }}" class="form-select" aria-label="{{ name }}">
|
||||
{# Use namespace wrapper to persist scope between loop iterations #}
|
||||
{% set user_has_chosen = namespace(teampre="false") %}
|
||||
|
||||
|
||||
@ -85,7 +85,7 @@
|
||||
<div class="input-group mt-2">
|
||||
{{ driver_select_with_preselect(user_guess.gained_driver.abbr if user_guess is not none else "",
|
||||
"gainedselect", "Most WDC places gained:", false) }}
|
||||
{{ driver_select_with_preselect(user_guess.gained_driver.abbr if user_guess is not none else "",
|
||||
{{ driver_select_with_preselect(user_guess.lost_driver.abbr if user_guess is not none else "",
|
||||
"lostselect", "Most WDC places lost:", false) }}
|
||||
</div>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user