X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/e852900e42eb0bde98daf7070d84816e44c3308e..98062d2158ebe1f734d811691ab15e6887684281:/src/messaging/views.py?ds=sidebyside diff --git a/src/messaging/views.py b/src/messaging/views.py index 6ea1a4098..429031387 100644 --- a/src/messaging/views.py +++ b/src/messaging/views.py @@ -2,11 +2,11 @@ import json from django.http import JsonResponse from django.urls import reverse from django.shortcuts import render -from django.utils.translation import ugettext as _ +from django.utils.translation import gettext as _ from django.views.decorators import cache -from django.views.generic import UpdateView +from django.views.generic import DetailView, UpdateView from . import models -from .states import states +from .states import Level, states def describe(value): @@ -46,5 +46,19 @@ class OptOutView(UpdateView): model = models.Contact slug_url_kwarg = 'key' slug_field = 'key' - fields = ['level'] + fields = [] + + def get_success_url(self): + return reverse('messaging_optout_ok', args=[self.object.key]) + + def form_valid(self, form): + self.object.ascend(Level.OPT_OUT) + return super().form_valid(form) + + +class OptOutOkView(DetailView): + model = models.Contact + slug_url_kwarg = 'key' + slug_field = 'key' +