diff --git a/opentech/public/home/models.py b/opentech/public/home/models.py index 22e452eebbab95efe48922c799c91122a696a69b..c2041c970cef1d0dd0faedcfc016f52bd5e61fe1 100644 --- a/opentech/public/home/models.py +++ b/opentech/public/home/models.py @@ -124,10 +124,11 @@ class HomePage(BasePage): ] def get_related(self, page_type, base_list): - yield from self.pages_from_related(base_list) - selected = list(base_list.values_list('page', flat=True)) + related = page_type.objects.filter(id__in=base_list.values_list('page')).live().public() + yield from related + selected = list(related.values_list('id', flat=True)) extra_needed = self.NUM_RELATED - len(selected) - extra_qs = page_type.objects.exclude(id__in=selected)[:extra_needed] + extra_qs = page_type.objects.public().live().exclude(id__in=selected)[:extra_needed] yield from self.sorted_by_deadline(extra_qs) def sorted_by_deadline(self, qs): @@ -141,11 +142,12 @@ class HomePage(BasePage): def pages_from_related(self, related): for related in related.all(): - yield related.page.specific + if related.page.live and related.page.public: + yield related.page.specific def get_context(self, *args, **kwargs): context = super().get_context(*args, **kwargs) - context['lab_list'] = self.get_related(LabPage, self.promoted_labs) - context['fund_list'] = self.get_related(FundPage, self.promoted_funds) - context['rfps_list'] = self.get_related(RFPPage, self.promoted_rfps) + context['lab_list'] = list(self.get_related(LabPage, self.promoted_labs)) + context['fund_list'] = list(self.get_related(FundPage, self.promoted_funds)) + context['rfps_list'] = list(self.get_related(RFPPage, self.promoted_rfps)) return context diff --git a/opentech/public/home/templates/home/includes/list_block.html b/opentech/public/home/templates/home/includes/list_block.html index 2ba03c9ce9f1c45b9152c9ca2b246bda2505db46..db1d157b3456d444d32e0ff8606ab58364477d62 100644 --- a/opentech/public/home/templates/home/includes/list_block.html +++ b/opentech/public/home/templates/home/includes/list_block.html @@ -1,4 +1,5 @@ {% load wagtailcore_tags wagtailimages_tags %} +{% if listing %} <div class="wrapper wrapper--breakout wrapper--{{ bg_color }}-bg wrapper--inner-space-xl"> <div class="wrapper wrapper--medium"> <section class="section section--introduction"> @@ -50,3 +51,4 @@ {% endif %} </div> </div> +{% endif %}