浏览代码

Fix chart templates

Colin Powell 2 年之前
父节点
当前提交
6316d4bead

+ 4 - 3
vrobbler/apps/scrobbles/views.py

@@ -468,11 +468,11 @@ class ChartRecordView(TemplateView):
 
     def get_context_data(self, **kwargs):
         context_data = super().get_context_data(**kwargs)
-        date = self.request.GET.get('date')
-        media_type = self.request.GET.get('media')
+        date = self.request.GET.get("date")
+        media_type = self.request.GET.get("media", "Track")
         user = self.request.user
         params = {}
-        context_data['artist_charts'] = {}
+        context_data["artist_charts"] = {}
 
         if not date:
             context_data['artist_charts'] = {
@@ -543,6 +543,7 @@ class ChartRecordView(TemplateView):
             # TODO recalculate
             ...
 
+        context_data['charts'] = charts
         context_data['name'] = name
         context_data['in_progress'] = in_progress
         return context_data

+ 2 - 2
vrobbler/templates/music/artist_detail.html

@@ -1,9 +1,9 @@
-{% extends "base_detail.html" %}
+{% extends "base_list.html" %}
 {% load mathfilters %}
 
 {% block title %}{{object.name}}{% endblock %}
 
-{% block details %}
+{% block lists %}
 
 <div class="row">
     {% for album in artist.album_set.all %}

+ 31 - 2
vrobbler/templates/scrobbles/chart_index.html

@@ -4,6 +4,34 @@
 
 {% block lists %}
 <div class="row">
+    {% if charts %}
+    <div class="tab-content" id="artistTabContent">
+        <div class="table-responsive">
+            <table class="table table-striped table-sm">
+                <thead>
+                    <tr>
+                        <th scope="col">Rank</th>
+                        <th scope="col">Artist</th>
+                        <th scope="col">Track</th>
+                        <th scope="col">Scrobbles</th>
+                    </tr>
+                </thead>
+                <tbody>
+                    {% for chart in charts %}
+                    <tr>
+                        <td>{{chart.rank}}</td>
+                        <td><a href="{{chart.media_obj.artist.get_absolute_url}}">{{chart.media_obj.artist}}</a></td>
+                        <td><a href="{{chart.media_obj.get_absolute_url}}">{{chart.media_obj.title}}</a></td>
+                        <td>{{chart.count}}</td>
+                    </tr>
+                    {% endfor %}
+                </tbody>
+            </table>
+        </div>
+    </div>
+    {% endif %}
+
+    {% if artist_charts %}
     <h2>Top Artists</h2>
 
     <ul class="nav nav-tabs" id="artistTab" role="tablist">
@@ -25,7 +53,6 @@
                 <table class="table table-striped table-sm">
                     <thead>
                         <tr>
-                            <th scope="col">Rank</th>
                             <th scope="col">Artist</th>
                             <th scope="col">Scrobbles</th>
                         </tr>
@@ -33,7 +60,6 @@
                     <tbody>
                         {% for artist in artists %}
                         <tr>
-                            <td>{{artist.rank}}</td>
                             <td><a href="{{artist.get_absolute_url}}">{{artist}}</a></td>
                             <td>{{artist.num_scrobbles}}</td>
                         </tr>
@@ -44,9 +70,11 @@
         </div>
         {% endfor %}
     </div>
+    {% endif %}
 </div>
 
 <div class="row">
+    {% if track_charts %}
     <h2>Top Tracks</h2>
 
     <ul class="nav nav-tabs" id="artistTab" role="tablist">
@@ -89,6 +117,7 @@
         </div>
         {% endfor %}
     </div>
+    {% endif %}
 </div>
 
 {% endblock %}