From 8141037bf483162a89788331a0e21fd97b21ba32 Mon Sep 17 00:00:00 2001 From: Chris Jones Date: Mon, 16 Jan 2012 17:03:51 -0800 Subject: [PATCH] Add api_action class attribute so that disable sender and verify sender can use the same view. --- djrill/admin.py | 4 +++- djrill/views.py | 13 +++++++++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/djrill/admin.py b/djrill/admin.py index fc0ebcd..5ebc32e 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_sender", "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 b76d035..8229741 100644 --- a/djrill/views.py +++ b/djrill/views.py @@ -63,7 +63,8 @@ class DjrillSendersListView(DjrillApiMixin, DjrillApiJsonObjectsMixin, return self.render_to_response({"objects": json.loads(objects)}) -class DjrillDisableSenderView(DjrillApiMixin, View): +class DjrillSenderView(DjrillApiMixin, View): + api_action = None def post(self, request): email = request.POST.get("email", None) @@ -73,10 +74,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 HttpResponse("success") return HttpResponseForbidden() + + +class DjrillDisableSenderView(DjrillSenderView): + api_action = "users/disable-sender.json" + + +class DjrillVerifySenderView(DjrillSenderView): + api_action = "users/verify-sender.json"