Publishing tags, and fixes.
[wolnelektury.git] / src / newsletter / 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.http.response import HttpResponseRedirect
5 from django.shortcuts import render, get_object_or_404
6 from django.urls import reverse
7 from django.utils.translation import gettext_lazy as _
8
9 from newsletter.forms import SubscribeForm, Newsletter
10
11
12 def subscribe_form(request, slug=''):
13     newsletter = get_object_or_404(Newsletter, slug=slug)
14     new_layout = request.EXPERIMENTS['layout'].value
15     if request.POST:
16         form = SubscribeForm(newsletter, request.POST)
17         if form.is_valid():
18             form.save()
19             return HttpResponseRedirect(reverse('subscribed'))
20     else:
21         form = SubscribeForm(newsletter)
22
23     if new_layout:
24         template_name = 'newsletter/2022/subscribe_form.html'
25     else:
26         template_name = 'newsletter/subscribe_form.html'
27     return render(request, template_name, {
28         'page_title': newsletter.page_title,
29         'form': form,
30     })
31
32
33 def subscribed(request):
34     new_layout = request.EXPERIMENTS['layout'].value
35     if new_layout:
36         template_name = 'newsletter/2022/subscribed.html'
37     else:
38         template_name = 'newsletter/subscribed.html'
39     return render(request, template_name, {
40         'page_title': _('Subscribed'),
41     })
42