Highlight current user in game results and score display

This commit is contained in:
Edgar P. Burkhart 2025-06-15 15:56:30 +02:00
parent 2278345f32
commit 993ed8963c
Signed by: edpibu
GPG key ID: 9833D3C5A25BD227
4 changed files with 8 additions and 6 deletions

View file

@ -117,7 +117,7 @@ h6,
i.i {
margin-right: .5em;
}
i.hl {
i.hl, .me {
color: var(--pico-primary);
}

View file

@ -131,12 +131,14 @@ class MusicGameOrder(models.Model):
class AnswerManager(models.Manager):
def score(self, game, player):
qs = self.filter(game__game=game, game__player=player)
qs = self.filter(game__game=game, player=player)
return (
qs.filter(answer=F("game__player"))
qs.exclude(game__player=player)
.filter(game__player=F("answer"))
.aggregate(score=models.Sum("game__value", default=0))
.get("score")
- 500 * qs.exclude(game__player=F("answer")).count()
- 500
* qs.filter(game__player=player).exclude(game__player=F("answer")).count()
)

View file

@ -21,7 +21,7 @@
<i class="ri-user-line"></i> Joueur
</th>
{% for player in musikgame.musicgameresults_set.all %}
<th>{{ player.player.username }}</th>
<th {% if user == player.player %}class="me"{% endif %}>{{ player.player.username }}</th>
<th class="sc">
{% if forloop.first %}<i class="ri-medal-fill gold"></i>{% endif %}
<span class="score">{{ player.score }}</span>

View file

@ -40,7 +40,7 @@
{% if musikgame.over %}
<ol class="podium">
{% for player in musikgame.musicgameresults_set.all %}
<li>
<li {% if user == player.player %}class="me"{% endif %}>
{{ player.player.username }} <span class="score">{{ player.score }}</span>
</li>
{% endfor %}