Add "Games Played" column in deck list
This commit is contained in:
parent
87a336787c
commit
7545966aed
@ -1,6 +1,6 @@
|
|||||||
from fastapi import APIRouter, Depends, HTTPException, Request
|
from fastapi import APIRouter, Depends, HTTPException, Request
|
||||||
from fastapi.responses import HTMLResponse
|
from fastapi.responses import HTMLResponse
|
||||||
from sqlalchemy import and_, or_
|
from sqlalchemy import and_, or_, func
|
||||||
from sqlalchemy.orm import Session
|
from sqlalchemy.orm import Session
|
||||||
|
|
||||||
from app.sql import models
|
from app.sql import models
|
||||||
@ -70,6 +70,22 @@ def deck_create_html(request: Request, db=Depends(get_db)):
|
|||||||
@html_router.get("/list")
|
@html_router.get("/list")
|
||||||
def decks_html(request: Request, db=Depends(get_db)):
|
def decks_html(request: Request, db=Depends(get_db)):
|
||||||
decks = list_decks(db=db)
|
decks = list_decks(db=db)
|
||||||
|
for deck in decks:
|
||||||
|
setattr(
|
||||||
|
deck,
|
||||||
|
"games_played",
|
||||||
|
db.query(func.count())
|
||||||
|
.select_from(models.Game)
|
||||||
|
.filter(
|
||||||
|
or_(
|
||||||
|
*[
|
||||||
|
getattr(models.Game, f"deck_id_{i+1}") == deck.id
|
||||||
|
for i in range(6)
|
||||||
|
]
|
||||||
|
)
|
||||||
|
)
|
||||||
|
.scalar(),
|
||||||
|
)
|
||||||
return jinja_templates.TemplateResponse(
|
return jinja_templates.TemplateResponse(
|
||||||
request, "decks/list.html", {"decks": decks}
|
request, "decks/list.html", {"decks": decks}
|
||||||
)
|
)
|
||||||
|
@ -12,6 +12,7 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<th>Deck Name</th>
|
<th>Deck Name</th>
|
||||||
<th>Owner</th>
|
<th>Owner</th>
|
||||||
|
<th>Games Played</th>
|
||||||
</tr>
|
</tr>
|
||||||
{% for deck in decks %}
|
{% for deck in decks %}
|
||||||
<tr>
|
<tr>
|
||||||
@ -19,6 +20,7 @@
|
|||||||
<a href="/deck/{{ deck.id }}">{{ deck.name }}</a>
|
<a href="/deck/{{ deck.id }}">{{ deck.name }}</a>
|
||||||
</td>
|
</td>
|
||||||
<td>{{ deck.owner.name }}</td>
|
<td>{{ deck.owner.name }}</td>
|
||||||
|
<td>{{ deck.games_played }}</td>
|
||||||
</tr>
|
</tr>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</table>
|
</table>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user