5c19e72e68c70e175a9f73e60df48feaa75cc364
[wolnelektury.git] / src / infopages / views.py
1 # This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
2 # Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
3 #
4 from django.shortcuts import render, get_object_or_404
5 from django.template import RequestContext, Template, TemplateSyntaxError
6
7 from infopages.models import InfoPage
8
9
10 def infopage(request, slug):
11     page = get_object_or_404(InfoPage, slug=slug)
12
13     new_layout = request.EXPERIMENTS['layout']
14     
15     rc = RequestContext(request)
16     try:
17         left_column = Template(page.left_column).render(rc)
18     except TemplateSyntaxError:
19         left_column = ''
20
21     try:
22         right_column = Template(page.right_column).render(rc)
23     except TemplateSyntaxError:
24         right_column = ''
25
26     return render(
27         request,
28         'infopages/2022/infopage.html' if new_layout.value else 'infopages/infopage.html',
29         {
30             'page': page,
31             'left_column': left_column,
32             'right_column': right_column,
33             'active_menu_item': f'info:{slug}',
34         }
35     )