]> git.parisson.com Git - mezzo.git/commitdiff
Media : list related content
authorEmilie <zawadzki@ircam.fr>
Fri, 28 Oct 2016 16:32:29 +0000 (18:32 +0200)
committerEmilie <zawadzki@ircam.fr>
Fri, 28 Oct 2016 16:32:29 +0000 (18:32 +0200)
app/organization/media/migrations/0012_auto_20161028_1812.py [new file with mode: 0644]
app/organization/media/models.py
app/organization/media/views.py
app/templates/media/playlist_detail.html

diff --git a/app/organization/media/migrations/0012_auto_20161028_1812.py b/app/organization/media/migrations/0012_auto_20161028_1812.py
new file mode 100644 (file)
index 0000000..6cee678
--- /dev/null
@@ -0,0 +1,21 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.9.10 on 2016-10-28 16:12
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('organization-media', '0011_auto_20161014_1136'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='playlistrelated',
+            name='playlist',
+            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='playlist_related', to='organization-media.Playlist', verbose_name='playlist'),
+        ),
+    ]
index 5abdc414fb896e28145cc5230af476b4d6dcf8a0..0f5687815c22bafde7db3be818cf35bac12a67dd 100644 (file)
@@ -135,7 +135,7 @@ class PlaylistMedia(models.Model):
 class PlaylistRelated(models.Model):
     """Playlist inline"""
 
-    playlist = models.ForeignKey(Playlist, verbose_name=_('playlist'), blank=True, null=True, on_delete=models.SET_NULL)
+    playlist = models.ForeignKey(Playlist, verbose_name=_('playlist'), related_name='playlist_related', blank=True, null=True, on_delete=models.SET_NULL)
 
     class Meta:
         verbose_name = _('playlist')
index 599cf9ce1d5573d1550439c5c0f3dda89fc3fd76..95358fbad4946d5c590db5016489357425d31acc 100644 (file)
@@ -4,6 +4,7 @@ from organization.media.models import *
 from organization.core.views import *
 from dal import autocomplete
 from dal_select2_queryset_sequence.views import Select2QuerySetSequenceView
+from django.core.exceptions import FieldDoesNotExist
 
 
 class PlaylistDetailView(SlugMixin, DetailView):
@@ -11,9 +12,18 @@ class PlaylistDetailView(SlugMixin, DetailView):
     model = Playlist
     template_name='media/playlist_detail.html'
     context_object_name = 'playlist'
-
+    
     def get_context_data(self, **kwargs):
+        self.related_objects = []
         context = super(PlaylistDetailView, self).get_context_data(**kwargs)
+        related_model = PlaylistRelated._meta.get_fields()
+        related_playlist = self.object.playlist_related.all()
+        for rm in related_model:
+            for rp in related_playlist:
+                if hasattr(rp, rm.name):
+                    self.related_objects.append(getattr(rp, rm.name))
+
+        context['related_objects'] = self.related_objects
         return context
 
 
index e686912feedc85c9b00f19c9d7bf567c14f1440e..7bf636bf14103d50b4ff2c9e553e25a75dadccf0 100644 (file)
@@ -65,4 +65,9 @@
         {{ playlist.content|safe }}
     </div>
 
+    {% for related_object in related_objects %}
+        {{ related_object }}
+        <br>
+    {% endfor %}
+
 {% endblock %}