diff --git a/panikdb/aa/models.py b/panikdb/aa/models.py index b78173d631a284179680be549534b8ac262b2d07..5e0fa36fded52c775ec98d9164d67ff27e7ce895 100644 --- a/panikdb/aa/models.py +++ b/panikdb/aa/models.py @@ -4,7 +4,7 @@ from django.contrib.auth.models import AbstractUser from django.core import validators from django.db import models -from emissions.models import Emission, Episode, NewsItem, NewsCategory +from emissions.models import Emission, Episode, NewsItem, NewsCategory, SoundFile class User(AbstractUser): emissions = models.ManyToManyField(Emission, null=True, blank=True) @@ -17,6 +17,8 @@ class User(AbstractUser): return object in self.emissions.all() if isinstance(object, Episode): return object.emission in self.emissions.all() + if isinstance(object, SoundFile): + return object.episode.emission in self.emissions.all() if isinstance(object, NewsItem): return object.emission in self.emissions.all() return False diff --git a/panikdb/customtags/templatetags/panikdbtags.py b/panikdb/customtags/templatetags/panikdbtags.py index 2eec71dea16d4d7a725c8a85b2fe3f19c1c548cb..e13dfa444bf44668629e75c574606332a198f518 100644 --- a/panikdb/customtags/templatetags/panikdbtags.py +++ b/panikdb/customtags/templatetags/panikdbtags.py @@ -23,6 +23,8 @@ def context_url(object): return reverse('emission-view', kwargs={'slug': object.emission.slug}) if isinstance(object, Episode): return reverse('emission-view', kwargs={'slug': object.emission.slug}) + if isinstance(object, SoundFile): + return reverse('emission-view', kwargs={'slug': object.episode.emission.slug}) return None @@ -32,6 +34,8 @@ def context_title(object): return object.emission.title if isinstance(object, Episode): return object.emission.title + if isinstance(object, SoundFile): + return object.episode.emission.title return None