diff --git a/src/pretix/control/templates/pretixcontrol/user/notifications_disable.html b/src/pretix/control/templates/pretixcontrol/user/notifications_disable.html new file mode 100644 index 0000000000..a84ef01f22 --- /dev/null +++ b/src/pretix/control/templates/pretixcontrol/user/notifications_disable.html @@ -0,0 +1,13 @@ +{% extends "pretixcontrol/auth/base.html" %} +{% load i18n %} +{% load bootstrap3 %} +{% block title %}{% trans "Disable notifications" %}{% endblock %} +{% block content %} +
+{% endblock %} \ No newline at end of file diff --git a/src/pretix/control/views/user.py b/src/pretix/control/views/user.py index 795d91f704..913c965e8c 100644 --- a/src/pretix/control/views/user.py +++ b/src/pretix/control/views/user.py @@ -576,7 +576,9 @@ class User2FARegenerateEmergencyView(RecentAuthenticationRequiredMixin, Template class UserNotificationsDisableView(TemplateView): - def get(self, request, *args, **kwargs): + template_name = 'pretixcontrol/user/notifications_disable.html' + + def post(self, request, *args, **kwargs): user = get_object_or_404(User, notifications_token=kwargs.get('token'), pk=kwargs.get('id')) user.notifications_send = False user.save() diff --git a/src/tests/control/test_user.py b/src/tests/control/test_user.py index b7f09faa56..776d731ed8 100644 --- a/src/tests/control/test_user.py +++ b/src/tests/control/test_user.py @@ -417,13 +417,13 @@ class UserSettingsNotificationsTest(SoupTest): def test_disable_all_via_link(self): assert self.user.notifications_send - self.client.get('/control/settings/notifications/off/{}/{}/'.format(self.user.pk, self.user.notifications_token)) + self.client.post('/control/settings/notifications/off/{}/{}/'.format(self.user.pk, self.user.notifications_token)) self.user.refresh_from_db() assert not self.user.notifications_send def test_disable_all_via_link_anonymous(self): self.client.logout() assert self.user.notifications_send - self.client.get('/control/settings/notifications/off/{}/{}/'.format(self.user.pk, self.user.notifications_token)) + self.client.post('/control/settings/notifications/off/{}/{}/'.format(self.user.pk, self.user.notifications_token)) self.user.refresh_from_db() assert not self.user.notifications_send