]> git.0d.be Git - django-panik-nonstop.git/commitdiff
add direct track reference into logline record
authorFrédéric Péters <fpeters@0d.be>
Thu, 2 Jul 2020 07:59:12 +0000 (09:59 +0200)
committerFrédéric Péters <fpeters@0d.be>
Thu, 2 Jul 2020 07:59:12 +0000 (09:59 +0200)
nonstop/migrations/0026_somalogline_track.py [new file with mode: 0644]
nonstop/models.py
nonstop/templates/nonstop/artist_detail.html
nonstop/templates/nonstop/somalogline_archive_day.html
nonstop/templates/nonstop/track_detail.html

diff --git a/nonstop/migrations/0026_somalogline_track.py b/nonstop/migrations/0026_somalogline_track.py
new file mode 100644 (file)
index 0000000..168bb3b
--- /dev/null
@@ -0,0 +1,21 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.29 on 2020-07-02 09:58
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('nonstop', '0025_recurringrandomdirectorydiffusion_recurringrandomdirectoryoccurence'),
+    ]
+
+    operations = [
+        migrations.AddField(
+            model_name='somalogline',
+            name='track',
+            field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='nonstop.Track'),
+        ),
+    ]
index 1466ed99f8f04b4e2637866f7ad31eb23ec72b9b..8ae372c6571b2e78a5d44a84554b126cddbb9e46 100644 (file)
@@ -158,9 +158,17 @@ class SomaLogLine(models.Model):
         ordering = ['play_timestamp']
 
     filepath = models.ForeignKey(NonstopFile)
+    track = models.ForeignKey(Track, null=True)
     play_timestamp = models.DateTimeField()
     on_air = models.NullBooleanField('On Air')
 
+    def get_track(self):
+        if self.track_id:
+            return self.track
+        if self.filepath_id:
+            return self.filepath.track
+        return None
+
 
 class Jingle(models.Model):
     class Meta:
index 1b542d28ca5a65b1c875f4db960a4898b5eaba94..3fb29e29a6d8bcbf7d0ebdf6b24573560d1e0e63 100644 (file)
@@ -17,9 +17,9 @@
 <ul class="soma-list">
     {% for somalog in object.recent_diffusions|slice:":20" %}
         <li><span class="timestamp">{{ somalog.play_timestamp|date:"d/m/Y H:i" }}</span>:
-            {% if somalog.filepath.track %}
-            <a href="{{ somalog.filepath.track.get_absolute_url }}" class="tracktitle">{{ somalog.filepath.track.title }}</a>
-            <span class="trackartist">(<a href="{{ somalog.filepath.track.artist.get_absolute_url }}" class="trackartist">{{ somalog.filepath.track.artist.name }}</a>)</span>
+            {% if somalog.get_track %}
+            <a href="{{ somalog.get_track.get_absolute_url }}" class="tracktitle">{{ somalog.get_track.title }}</a>
+            <span class="trackartist">(<a href="{{ somalog.get_track.artist.get_absolute_url }}" class="trackartist">{{ somalog.get_track.artist.name }}</a>)</span>
             {% endif %}
             <span class="filepath">{{ somalog.filepath.short }}</span>
 </li>
index 98baf79e01d5d4aabe6772db6ba3468616439e71..a79a76bac8ce261480e3d45b9ea82fc2a6e8461a 100644 (file)
@@ -17,9 +17,9 @@
 <ul class="soma-list">
     {% for somalog in object_list %}
         <li class="on-air-{{ somalog.on_air }}"><span class="timestamp">{{ somalog.play_timestamp|date:"H:i" }}</span>:
-            {% if somalog.filepath.track %}
-            <a href="{{ somalog.filepath.track.get_absolute_url }}" class="tracktitle">{{ somalog.filepath.track.title }}</a>
-            <span class="trackartist">(<a href="{{ somalog.filepath.track.artist.get_absolute_url }}" class="trackartist">{{ somalog.filepath.track.artist.name }}</a>)</span>
+            {% if somalog.get_track %}
+            <a href="{{ somalog.get_track.get_absolute_url }}" class="tracktitle">{{ somalog.get_track.title }}</a>
+            <span class="trackartist">(<a href="{{ somalog.get_track.artist.get_absolute_url }}" class="trackartist">{{ somalog.get_track.artist.name }}</a>)</span>
             {% endif %}
             <span class="filepath">{{ somalog.filepath.short }}</span>
 </li>
index 3146ab6e61783b0f9b1aca30edbfff7290e56ee9..e3e8db7424afed01ee074cf5c41532ad7f53592b 100644 (file)
@@ -19,9 +19,9 @@
 <ul class="soma-list">
     {% for somalog in object.recent_diffusions|slice:":20" %}
         <li><span class="timestamp">{{ somalog.play_timestamp|date:"d/m/Y H:i" }}</span>:
-            {% if somalog.filepath.track %}
-            <a href="{{ somalog.filepath.track.get_absolute_url }}" class="tracktitle">{{ somalog.filepath.track.title }}</a>
-            <span class="trackartist">(<a href="{{ somalog.filepath.track.artist.get_absolute_url }}" class="trackartist">{{ somalog.filepath.track.artist.name }}</a>)</span>
+            {% if somalog.get_track %}
+            <a href="{{ somalog.get_track.get_absolute_url }}" class="tracktitle">{{ somalog.get_track.title }}</a>
+            <span class="trackartist">(<a href="{{ somalog.get_track.artist.get_absolute_url }}" class="trackartist">{{ somalog.get_track.artist.name }}</a>)</span>
             {% endif %}
             <span class="filepath">{{ somalog.filepath.short }}</span>
 </li>