diff --git a/djrill/admin.py b/djrill/admin.py index a31d656..a9a2e52 100644 --- a/djrill/admin.py +++ b/djrill/admin.py @@ -1,7 +1,7 @@ from django.contrib import admin from djrill.views import (DjrillIndexView, DjrillSendersListView, - DjrillDisableSenderView) + DjrillDisableSenderView, DjrillVerifySenderView) admin.site.register_view("djrill/senders/", DjrillSendersListView.as_view(), "djrill_senders", "senders") @@ -10,3 +10,5 @@ admin.site.register_view("djrill/status/", DjrillIndexView.as_view(), admin.site.register_url("djrill/disable/sender/", DjrillDisableSenderView.as_view(), "djrill_disable_sender") +admin.site.register_url("djrill/verify/sender/", + DjrillVerifySenderView.as_view(), "djrill_verify_sender") diff --git a/djrill/views.py b/djrill/views.py index 3fafb5a..6e3ee8d 100644 --- a/djrill/views.py +++ b/djrill/views.py @@ -77,7 +77,8 @@ class DjrillSendersListView(DjrillAdminMedia, DjrillApiMixin, }) -class DjrillDisableSenderView(DjrillApiMixin, View): +class DjrillSenderView(DjrillApiMixin, View): + api_action = None def post(self, request): email = request.POST.get("email", None) @@ -87,10 +88,18 @@ class DjrillDisableSenderView(DjrillApiMixin, View): "key": self.api_key, "email": email } - req = requests.post("%s/users/disable-sender.json" % self.api_url, + req = requests.post("%s/%s" % (self.api_url, self.api_action), data=json.dumps(payload)) if req.status_code == 200: return HttpResponseRedirect(reverse("admin:djrill_senders")) return HttpResponseForbidden() + + +class DjrillDisableSenderView(DjrillSenderView): + api_action = "users/disable-sender.json" + + +class DjrillVerifySenderView(DjrillSenderView): + api_action = "users/verify-sender.json"