X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/e852900e42eb0bde98daf7070d84816e44c3308e..750d370ba7b4df0c5c8f775d1b1443883abd2bf9:/src/messaging/views.py?ds=sidebyside diff --git a/src/messaging/views.py b/src/messaging/views.py index 6ea1a4098..fc09d72c4 100644 --- a/src/messaging/views.py +++ b/src/messaging/views.py @@ -4,9 +4,9 @@ from django.urls import reverse from django.shortcuts import render from django.utils.translation import ugettext 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' +