X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/111104c8e3e9487965eac9e916200a12d43bf2be..fd8cd1a9e08a5b31819da53d96a6775d31c20748:/src/newsletter/views.py?ds=sidebyside diff --git a/src/newsletter/views.py b/src/newsletter/views.py index c1e4fbb19..3c6355308 100644 --- a/src/newsletter/views.py +++ b/src/newsletter/views.py @@ -1,64 +1,42 @@ -# -*- coding: utf-8 -*- -from django.core.urlresolvers import reverse -from django.http import Http404 +# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later. +# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information. +# from django.http.response import HttpResponseRedirect from django.shortcuts import render, get_object_or_404 -from django.utils.translation import ugettext_lazy as _ +from django.urls import reverse +from django.utils.translation import gettext_lazy as _ -from newsletter.forms import UnsubscribeForm, SubscribeForm -from newsletter.models import Subscription +from newsletter.forms import SubscribeForm, Newsletter -def subscribe_form(request): +def subscribe_form(request, slug=''): + newsletter = get_object_or_404(Newsletter, slug=slug) + new_layout = request.EXPERIMENTS['layout'].value if request.POST: - form = SubscribeForm(request.POST) + form = SubscribeForm(newsletter, request.POST) if form.is_valid(): form.save() return HttpResponseRedirect(reverse('subscribed')) else: - form = SubscribeForm() - return render(request, 'newsletter/subscribe_form.html', { - 'page_title': _(u'Subscribe'), + form = SubscribeForm(newsletter) + + if new_layout: + template_name = 'newsletter/2022/subscribe_form.html' + else: + template_name = 'newsletter/subscribe_form.html' + return render(request, template_name, { + 'page_title': newsletter.page_title, 'form': form, }) def subscribed(request): - return render(request, 'newsletter/subscribed.html', { - 'page_title': _(u'Subscribed'), - }) - - -def check_subscription(subscription, hashcode): - if hashcode != subscription.hashcode(): - raise Http404 - - -def confirm_subscription(request, subscription_id, hashcode): - subscription = get_object_or_404(Subscription, id=subscription_id) - check_subscription(subscription, hashcode) - subscription.active = True - subscription.save() - return render(request, 'newsletter/confirm_subscription.html', { - 'page_title': _(u'Subscription confirmed') - }) - - -def unsubscribe_form(request): - if request.POST: - form = UnsubscribeForm(request.POST) - if form.is_valid(): - form.save() - return HttpResponseRedirect(reverse('unsubscribed')) + new_layout = request.EXPERIMENTS['layout'].value + if new_layout: + template_name = 'newsletter/2022/subscribed.html' else: - form = UnsubscribeForm() - return render(request, 'newsletter/unsubscribe_form.html', { - 'page_title': _(u'Unsubscribe'), - 'form': form, + template_name = 'newsletter/subscribed.html' + return render(request, template_name, { + 'page_title': _('Subscribed'), }) - -def unsubscribed(request): - return render(request, 'newsletter/unsubscribed.html', { - 'page_title': _(u'Unsubscribed'), - }) \ No newline at end of file