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 { i.i {
margin-right: .5em; margin-right: .5em;
} }
i.hl { i.hl, .me {
color: var(--pico-primary); color: var(--pico-primary);
} }

View file

@ -131,12 +131,14 @@ class MusicGameOrder(models.Model):
class AnswerManager(models.Manager): class AnswerManager(models.Manager):
def score(self, game, player): def score(self, game, player):
qs = self.filter(game__game=game, game__player=player) qs = self.filter(game__game=game, player=player)
return ( 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)) .aggregate(score=models.Sum("game__value", default=0))
.get("score") .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 <i class="ri-user-line"></i> Joueur
</th> </th>
{% for player in musikgame.musicgameresults_set.all %} {% 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"> <th class="sc">
{% if forloop.first %}<i class="ri-medal-fill gold"></i>{% endif %} {% if forloop.first %}<i class="ri-medal-fill gold"></i>{% endif %}
<span class="score">{{ player.score }}</span> <span class="score">{{ player.score }}</span>

View file

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