From d4b7bddc50927601bd820d311ab3f577a77c0214 Mon Sep 17 00:00:00 2001 From: Antoine Nguyen Date: Fri, 20 Jan 2023 16:04:08 +0100 Subject: [PATCH 1/2] Ensure DELETE method for delete alias view --- modoboa/admin/views/alias.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modoboa/admin/views/alias.py b/modoboa/admin/views/alias.py index 68eeeeeb4..3271cc48e 100644 --- a/modoboa/admin/views/alias.py +++ b/modoboa/admin/views/alias.py @@ -9,6 +9,7 @@ from django.urls import reverse from django.utils.translation import ugettext as _, ungettext from django.views import generic +from django.views.decorators.http import require_http_methods from modoboa.core import signals as core_signals from modoboa.lib.exceptions import Conflict, PermDeniedException @@ -93,6 +94,7 @@ def editalias(request, alid, tplname="admin/aliasform.html"): @login_required @permission_required("admin.delete_alias") +@require_http_methods(["DELETE"]) def delalias(request): selection = request.GET["selection"].split(",") for alid in selection: From f61c45260b41a17661de5ef1680f59546f0135e4 Mon Sep 17 00:00:00 2001 From: Antoine Nguyen Date: Mon, 23 Jan 2023 12:01:34 +0100 Subject: [PATCH 2/2] Fixed unit tests --- modoboa/admin/tests/test_alias.py | 7 +++---- modoboa/limits/tests/test_user_limits.py | 5 ++--- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/modoboa/admin/tests/test_alias.py b/modoboa/admin/tests/test_alias.py index 21397310f..ffb468e0b 100644 --- a/modoboa/admin/tests/test_alias.py +++ b/modoboa/admin/tests/test_alias.py @@ -156,10 +156,9 @@ def test_dlist(self): ) self.assertEqual(dlist.recipients_count, 2) - self.ajax_post( + self.ajax_delete( "{}?selection={}".format( - reverse("admin:alias_delete"), dlist.id), - {} + reverse("admin:alias_delete"), dlist.id) ) self.assertRaises( Alias.DoesNotExist, Alias.objects.get, address="all@test.com") @@ -180,7 +179,7 @@ def test_forward(self): ) self.assertEqual(fwd.recipients_count, 1) - self.ajax_post( + self.ajax_delete( reverse("admin:alias_delete") + "?selection=%d" % fwd.id, {} ) diff --git a/modoboa/limits/tests/test_user_limits.py b/modoboa/limits/tests/test_user_limits.py index 8151cae23..07de3d956 100644 --- a/modoboa/limits/tests/test_user_limits.py +++ b/modoboa/limits/tests/test_user_limits.py @@ -162,10 +162,9 @@ def test_aliases_limit(self): max_value=-1) self._create_alias("alias3@test.com") self._check_limit("mailbox_aliases", 3, -1) - self.ajax_post( + self.ajax_delete( reverse("admin:alias_delete") + "?selection=%d" - % Alias.objects.get(address="alias2@test.com").id, - {} + % Alias.objects.get(address="alias2@test.com").id ) self._check_limit("mailbox_aliases", 2, -1)