X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/d5a4e2346ceaa436eb64372ad099ebbffd78db2e..1799a9fde9bb34e2c54e94eb0d15472dd53ca4e6:/src/catalogue/views.py?ds=sidebyside diff --git a/src/catalogue/views.py b/src/catalogue/views.py index 9a36b7305..62d34bb50 100644 --- a/src/catalogue/views.py +++ b/src/catalogue/views.py @@ -18,7 +18,7 @@ from django.views.decorators.cache import never_cache from ajaxable.utils import AjaxableFormView from club.forms import ScheduleForm -from club.models import Membership +from club.models import Club, Membership from annoy.models import DynamicTextInsert from pdcounter import views as pdcounter_views from picture.models import Picture, PictureArea @@ -36,7 +36,7 @@ def catalogue(request): return render(request, 'catalogue/catalogue.html', { 'books': Book.objects.filter(findable=True, parent=None), 'pictures': Picture.objects.all(), - 'collections': Collection.objects.all(), + 'collections': Collection.objects.filter(listed=True), 'active_menu_item': 'all_works', }) @@ -66,7 +66,10 @@ def daisy_list(request): def collection(request, slug): coll = get_object_or_404(Collection, slug=slug) - return render(request, 'catalogue/collection.html', {'collection': coll}) + return render(request, 'catalogue/collection.html', { + 'collection': coll, + 'active_menu_item': 'collections', + }) def differentiate_tags(request, tags, ambiguous_slugs): @@ -285,12 +288,15 @@ def book_detail(request, slug): return render( request, - 'catalogue/book_detail.html', + 'catalogue/2021/book_detail.html' if request.EXPERIMENTS['layout'] == 'new' else 'catalogue/book_detail.html', { 'book': book, 'book_children': book.children.all().order_by('parent_number', 'sort_key'), 'active_menu_item': 'books', 'club_form': ScheduleForm() if book.preview else None, + 'club': Club.objects.first() if book.preview else None, + + 'EXPERIMENTS_SWITCHABLE_layout': True, }) @@ -451,16 +457,17 @@ def tag_catalogue(request, category): def collections(request): - objects = Collection.objects.all() + objects = Collection.objects.filter(listed=True) if len(objects) > 3: - best = random.sample(list(objects), 3) + best = random.sample(list(objects), 4) else: best = objects return render(request, 'catalogue/collections.html', { 'objects': objects, 'best': best, + 'active_menu_item': 'collections' })