mirror of
https://github.com/pacnpal/django-anymail.git
synced 2025-12-20 11:51:05 -05:00
cleaner form, properly sending. view has a bit more config
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
from django.contrib import admin
|
||||
|
||||
from djrill.views import (DjrillIndexView, DjrillSendersListView,
|
||||
DjrillDisableSenderView, DjrillVerifySenderView)
|
||||
DjrillDisableSenderView, DjrillVerifySenderView)
|
||||
|
||||
admin.site.register_view("djrill/senders/", DjrillSendersListView.as_view(),
|
||||
"djrill_senders", "senders")
|
||||
|
||||
@@ -58,47 +58,47 @@
|
||||
|
||||
{% block filters %}{% endblock %}
|
||||
|
||||
<form id="changelist-form" action="" method="post">
|
||||
{% csrf_token %}
|
||||
|
||||
{% block result_list %}
|
||||
{% if objects %}
|
||||
<div class="results">
|
||||
<table cellspacing="0" id="result_list">
|
||||
<thead>
|
||||
<tr>
|
||||
{% for header in objects.0.keys %}
|
||||
<th scope="col">{{ header|capfirst }}</th>
|
||||
{% endfor %}
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for result in objects %}
|
||||
<tr class="{% cycle 'row1' 'row2' %}">
|
||||
{% for item in result.values %}
|
||||
<td>{{ item }}</td>
|
||||
{% endfor %}
|
||||
{% block result_list %}
|
||||
{% if objects %}
|
||||
<div class="results">
|
||||
<table cellspacing="0" id="result_list">
|
||||
<thead>
|
||||
<tr>
|
||||
{% for header in objects.0.keys %}
|
||||
<th scope="col">{{ header|capfirst }}</th>
|
||||
{% endfor %}
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for result in objects %}
|
||||
<tr class="{% cycle 'row1' 'row2' %}">
|
||||
{% for item in result.values %}
|
||||
<td>{{ item }}</td>
|
||||
{% endfor %}
|
||||
<td>
|
||||
{% if result.is_enabled and result.approved_at %}
|
||||
<td>
|
||||
<form method="post" action="{% url "admin:djrill_disable_sender" %}">
|
||||
<input type="hidden" name="email" value="{{ result.address }}">
|
||||
{% csrf_token %}
|
||||
<button>disable</buton>
|
||||
</form>
|
||||
</td>
|
||||
<form method="POST" action="{% url "admin:djrill_disable_sender" %}">
|
||||
{% else %}
|
||||
<td><button>enable</button></td>
|
||||
<form method="POST" action="{% url "admin:djrill_verify_sender" %}">
|
||||
{% endif %}
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
{% block pagination %}{% endblock %}
|
||||
</form>
|
||||
<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>
|
||||
</table>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
{% block pagination %}{% endblock %}
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
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)
|
||||
@@ -79,6 +80,8 @@ class DjrillSendersListView(DjrillAdminMedia, DjrillApiMixin,
|
||||
|
||||
class DjrillSenderView(DjrillApiMixin, View):
|
||||
api_action = None
|
||||
error_message = None
|
||||
success_message = None
|
||||
|
||||
def post(self, request):
|
||||
email = request.POST.get("email", None)
|
||||
@@ -92,14 +95,21 @@ class DjrillSenderView(DjrillApiMixin, View):
|
||||
data=json.dumps(payload))
|
||||
|
||||
if req.status_code == 200:
|
||||
return HttpResponseRedirect(reverse("admin:djrill_senders"))
|
||||
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."
|
||||
|
||||
Reference in New Issue
Block a user