fix for toc events
[wolnelektury.git] / src / infopages / views.py
1 # This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
2 # Copyright © Fundacja Wolne Lektury. 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     if request.user.is_staff:
12         page = get_object_or_404(InfoPage, slug=slug)
13     else:
14         page = get_object_or_404(InfoPage, slug=slug, published=True)
15
16     rc = RequestContext(request)
17     try:
18         left_column = Template(page.left_column).render(rc)
19     except TemplateSyntaxError:
20         left_column = ''
21
22     try:
23         right_column = Template(page.right_column).render(rc)
24     except TemplateSyntaxError:
25         right_column = ''
26
27     return render(
28         request,
29         'infopages/infopage.html',
30         {
31             'page': page,
32             'left_column': left_column,
33             'right_column': right_column,
34             'active_menu_item': f'info:{slug}',
35         }
36     )