remove info for podcast adv from / (anon and logged-in)
[mygpo.git] / mygpo / search / signals.py
blob69686069ba06802d9a2f039a3eea483bf83d70e5
1 from django.db.models.signals import post_save, pre_delete
2 from mygpo.api.models import Podcast, PodcastGroup
3 from mygpo.search.util import podcast_entry, podcast_group_entry
6 def remove_podcast_entry(sender, instance=False, **kwargs):
7 from mygpo.search.models import SearchEntry
8 SearchEntry.objects.filter(obj_type='podcast', obj_id=instance.id).delete()
10 def remove_podcast_group_entry(sender, instance=False, **kwargs):
11 from mygpo.search.models import SearchEntry
12 SearchEntry.objects.filter(obj_type='podcast_group', obj_id=instance.id).delete()
14 def update_podcast_entry(sender, instance=False, **kwargs):
15 from mygpo.search.models import SearchEntry
16 # we don't want podcasts in groups to be indexed separately
17 if instance and not instance.group:
18 SearchEntry.objects.filter(obj_type='podcast', obj_id=instance.id).delete()
19 entry = podcast_entry(instance)
20 entry.save()
22 def update_podcast_group_entry(sender, instance=False, **kwargs):
23 from mygpo.search.models import SearchEntry
25 for podcast in instance.podcasts():
26 SearchEntry.objects.filter(obj_type='podcast', obj_id=podcast.id).delete()
28 SearchEntry.objects.filter(obj_type='podcast_group', obj_id=instance.id).delete()
29 entry = podcast_group_entry(instance)
30 entry.save()