mirror of
https://github.com/pacnpal/django-anymail.git
synced 2025-12-20 11:51:05 -05:00
Merge pull request #9 from medmunds/admin_remove_verify_sender
Remove obsolete admin related to sender verification
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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 %}
|
||||
|
||||
@@ -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 %}
|
||||
|
||||
@@ -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!")
|
||||
import requests
|
||||
|
||||
|
||||
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({
|
||||
|
||||
Reference in New Issue
Block a user