diff --git a/portail_citoyen_announces/cms_plugins.py b/portail_citoyen_announces/cms_plugins.py index cc7064f..1eef471 100644 --- a/portail_citoyen_announces/cms_plugins.py +++ b/portail_citoyen_announces/cms_plugins.py @@ -22,16 +22,19 @@ class AnnounceListPlugin(CMSPluginBase): text_enabled = True transport_identifier = transports.HomepageTransport.identifier - def get_queryset(self): - qs = models.Announce.objects.all() - qs = qs.filter(category__subscription__transport=self.transport_identifier) + def get_queryset(self, user): + qs = models.Announce.objects.published() + categories = models.Subscription.objects.filter( + transport=self.transport_identifier, + user=user).values_list('category', flat=True) + qs = qs.filter(category__in=categories) if app_settings.feed_homepage_limit: qs = qs[:app_settings.feed_homepage_limit] return qs def render(self, context, instance, placeholder): request = context['request'] - context['object_list'] = self.get_queryset() + context['object_list'] = self.get_queryset(request.user) context['id_prefix'] = 'announce-item-' subscriptions = models.Subscription.objects.filter( transport=self.transport_identifier,