Sfoglia il codice sorgente

Add ratings and ordering

Colin Powell 3 anni fa
parent
commit
09caf6579f
3 ha cambiato i file con 11 aggiunte e 2 eliminazioni
  1. 9 1
      games/models.py
  2. 1 1
      templates/base.html
  3. 1 0
      templates/games/_game_card.html

+ 9 - 1
games/models.py

@@ -39,7 +39,7 @@ class BaseModel(TimeStampedModel):
     slug = AutoSlugField(populate_from="name")
 
     class Meta:
-        ordering = ['name']
+        ordering = ["name"]
         abstract = True
 
     def slugify_function(self, content):
@@ -180,9 +180,17 @@ class Game(BaseModel):
         null=True,
     )
 
+    class Meta:
+        ordering = ["game_system", "name"]
+
     def __str__(self):
         return f"{self.name} for {self.game_system}"
 
+    def rating_by_5(self) -> float:
+        if self.rating:
+            return 5 * self.rating
+        return 0.0
+
     def get_absolute_url(self):
         return reverse("games:game_detail", args=[self.slug])
 

+ 1 - 1
templates/base.html

@@ -70,7 +70,7 @@
                     <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Systems</a>
                     <div class="dropdown-menu" aria-labelledby="navbarDropdown">
                         {% for system in game_systems %}
-                        <a class="dropdown-item" href="{{system.get_absolute_url}}">{{system.name}}</a>
+                        <a class="dropdown-item" href="{{system.get_absolute_url}}">{{system.name}} ({{system.game_set.count}})</a>
                         {% endfor %}
                     </div>
                 </li>

+ 1 - 0
templates/games/_game_card.html

@@ -16,6 +16,7 @@
         <a href="{{game.game_system.get_absolute_url}}">
             <span class="system-badge badge badge-success {{game.game_system.retropie_slug}}">{{game.game_system.name|upper}}</span>
         </a>
+        &nbsp;&nbsp;{{game.rating_by_5}}/5
 
         <div id="genre-badges" style="float:right">
         {% for genre in game.genre.all %}