X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/251b72488d27f769ed0574f39a91f5d2da3d27a6..b39c329ecd604d815de1f772ed9c2e9598db4c46:/src/wolnelektury/views.py diff --git a/src/wolnelektury/views.py b/src/wolnelektury/views.py index 48063d29b..5e56f5906 100644 --- a/src/wolnelektury/views.py +++ b/src/wolnelektury/views.py @@ -46,20 +46,21 @@ def main_page(request): break break - # Choose a collection for main. - try: - ctx['collection'] = Collection.objects.filter(listed=True).order_by('?')[:1][0] - except IndexError: - pass + # Choose collections for main. + ctx['collections'] = Collection.objects.filter(listed=True).order_by('?')[:4] best = [] best_places = 5 + recommended_collection = None for recommended in Collection.objects.filter(listed=True, role='recommend').order_by('?'): + if recommended_collection is None: + recommended_collection = recommended books = list(recommended.get_books().exclude(id__in=[b.id for b in best]).order_by('?')[:best_places]) best.extend(books) best_places -= len(books) if not best_places: break + ctx['recommended_collection'] = recommended_collection if best_places: best.extend( list(