Remove obsolete admin related to sender verification

(Also match admin view method signatures to base classes and remove
unused imports while we're in there.)

Cherry-picked from medmunds/Djrill@ce69fd78
This commit is contained in:
medmunds
2012-11-21 14:46:32 -08:00
parent 442229d08d
commit 052f54113e
7 changed files with 8 additions and 141 deletions

View File

@@ -7,7 +7,6 @@ email service from MailChimp_.
An optional Django admin interface is included. The admin interface allows you to:
* Check the status of your Mandrill API connection.
* Add/disable email senders.
* See stats on email tags and urls.
Installation

View File

@@ -1,8 +1,7 @@
from django.contrib import admin
from djrill.views import (DjrillIndexView, DjrillSendersListView,
DjrillDisableSenderView, DjrillVerifySenderView,
DjrillAddSenderView, DjrillTagListView,
DjrillTagListView,
DjrillUrlListView)
admin.site.register_view("djrill/senders/", DjrillSendersListView.as_view(),
@@ -13,10 +12,3 @@ admin.site.register_view("djrill/tags/", DjrillTagListView.as_view(),
"djrill_tags", "tags")
admin.site.register_view("djrill/urls/", DjrillUrlListView.as_view(),
"djrill_urls", "urls")
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")
admin.site.register_url("djrill/add/sender/",
DjrillAddSenderView.as_view(), "djrill_add_sender")

View File

@@ -1,7 +0,0 @@
from django import forms
from django.conf import settings
from django.core.exceptions import ImproperlyConfigured
class CreateSenderForm(forms.Form):
email = forms.EmailField()

View File

@@ -39,32 +39,8 @@
{% block content %}
<div id="content-main">
{% block object-tools %}
{% if has_add_permission %}
<ul class="object-tools">
{% block object-tools-items %}
<li>
<a href="add/{% if is_popup %}?_popup=1{% endif %}" class="addlink">
{% blocktrans %}Add sender{% endblocktrans %}
</a>
</li>
{% endblock %}
</ul>
{% endif %}
{% endblock %}
<div class="module filtered" id="changelist">
{% block search %}
<div id="toolbar">
<form action="{% url "admin:djrill_add_sender" %}" method="POST">
<label for="id_email" class="addlink">Add a new sender</label>
<input type="email" placeholder="E-mail address" name="email" id="id_email">
{% csrf_token %}
<input type="submit" value="Submit">
</form>
</div>
{% endblock %}
{% block date_hierarchy %}{% endblock %}
{% block filters %}
@@ -80,7 +56,6 @@
{% for header in objects.0.keys %}
<th scope="col">{{ header|capfirst }}</th>
{% endfor %}
<th></th>
</tr>
</thead>
<tbody>
@@ -89,21 +64,6 @@
{% for item in result.values %}
<td>{{ item }}</td>
{% endfor %}
<td>
{% if result.is_enabled and result.approved_at %}
<form method="POST" action="{% url "admin:djrill_disable_sender" %}">
{% else %}
<form method="POST" action="{% url "admin:djrill_verify_sender" %}">
{% endif %}
<input type="hidden" name="email" value="{{ result.address }}">
{% csrf_token %}
{% if result.is_enabled and result.approved_at %}
<button>disable</buton>
{% else %}
<button>enable</buton>
{% endif %}
</form>
</td>
</tr>
{% endfor %}
</tbody>

View File

@@ -39,19 +39,6 @@
{% block content %}
<div id="content-main">
{% block object-tools %}
{% if has_add_permission %}
<ul class="object-tools">
{% block object-tools-items %}
<li>
<a href="add/{% if is_popup %}?_popup=1{% endif %}" class="addlink">
{% blocktrans %}Add sender{% endblocktrans %}
</a>
</li>
{% endblock %}
</ul>
{% endif %}
{% endblock %}
<div class="module filtered" id="changelist">
{% block search %} {% endblock %}

View File

@@ -39,19 +39,6 @@
{% block content %}
<div id="content-main">
{% block object-tools %}
{% if has_add_permission %}
<ul class="object-tools">
{% block object-tools-items %}
<li>
<a href="add/{% if is_popup %}?_popup=1{% endif %}" class="addlink">
{% blocktrans %}Add sender{% endblocktrans %}
</a>
</li>
{% endblock %}
</ul>
{% endif %}
{% endblock %}
<div class="module filtered" id="changelist">
{% block search %}{% endblock %}

View File

@@ -2,17 +2,10 @@ from django import forms
from django.conf import settings
from django.contrib import messages
from django.core.exceptions import ImproperlyConfigured
from django.core.urlresolvers import reverse
from django.http import (HttpResponseForbidden, HttpResponseRedirect)
from django.utils import simplejson as json
from django.views.generic import TemplateView, View
from django.views.generic import TemplateView
from djrill.forms import CreateSenderForm
try:
import requests
except ImportError:
raise ImportError("Install the damn requirements!")
class DjrillAdminMedia(object):
@@ -28,7 +21,7 @@ class DjrillApiMixin(object):
"""
Simple Mixin to grab the api info from the settings file.
"""
def __init__(self, *args, **kwargs):
def __init__(self):
self.api_key = getattr(settings, "MANDRILL_API_KEY", None)
self.api_url = getattr(settings, "MANDRILL_API_URL", None)
@@ -90,7 +83,7 @@ class DjrillApiJsonObjectsMixin(object):
class DjrillIndexView(DjrillApiMixin, TemplateView):
template_name = "djrill/status.html"
def get(self, request):
def get(self, request, *args, **kwargs):
payload = json.dumps({"key": self.api_key})
req = requests.post("%s/users/info.json" % self.api_url, data=payload)
@@ -104,68 +97,24 @@ class DjrillSendersListView(DjrillAdminMedia, DjrillApiMixin,
api_uri = "users/senders.json"
template_name = "djrill/senders_list.html"
def get(self, request):
form = CreateSenderForm()
def get(self, request, *args, **kwargs):
objects = self.get_json_objects()
context = self.get_context_data()
context.update({
"objects": json.loads(objects),
"media": self.media,
"form": form
})
return self.render_to_response(context)
class DjrillSenderView(DjrillApiMixin, View):
api_action = None
error_message = None
success_message = None
def post(self, request):
email = request.POST.get("email", None)
if email:
payload = {
"key": self.api_key,
"email": email
}
req = requests.post("%s/%s" % (self.api_url, self.api_action),
data=json.dumps(payload))
if req.status_code == 200:
messages.success(request, self.success_message)
else:
messages.error(request, self.error_message)
return HttpResponseRedirect(reverse("admin:djrill_senders"))
return HttpResponseForbidden()
class DjrillDisableSenderView(DjrillSenderView):
api_action = "users/disable-sender.json"
error_message = "Sender was not disabled."
success_message = "Sender was disabled."
class DjrillVerifySenderView(DjrillSenderView):
api_action = "users/verify-sender.json"
error_message = "Sender was not verified."
success_message = "Sender was verified."
class DjrillAddSenderView(DjrillVerifySenderView):
error_message = "Sender was not added."
success_message = "Sender was added."
class DjrillTagListView(DjrillAdminMedia, DjrillApiMixin,
DjrillApiJsonObjectsMixin, TemplateView):
api_uri = "tags/list.json"
template_name = "djrill/tags_list.html"
def get(self, request):
def get(self, request, *args, **kwargs):
objects = self.get_json_objects()
context = self.get_context_data()
context.update({
@@ -180,7 +129,7 @@ class DjrillUrlListView(DjrillAdminMedia, DjrillApiMixin,
api_uri = "urls/list.json"
template_name = "djrill/urls_list.html"
def get(self, request):
def get(self, request, *args, **kwargs):
objects = self.get_json_objects()
context = self.get_context_data()
context.update({