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 django.contrib import admin
|
||||||
|
|
||||||
from djrill.views import (DjrillIndexView, DjrillSendersListView,
|
from djrill.views import (DjrillIndexView, DjrillSendersListView,
|
||||||
DjrillDisableSenderView, DjrillVerifySenderView)
|
DjrillDisableSenderView, DjrillVerifySenderView)
|
||||||
|
|
||||||
admin.site.register_view("djrill/senders/", DjrillSendersListView.as_view(),
|
admin.site.register_view("djrill/senders/", DjrillSendersListView.as_view(),
|
||||||
"djrill_senders", "senders")
|
"djrill_senders", "senders")
|
||||||
|
|||||||
@@ -58,47 +58,47 @@
|
|||||||
|
|
||||||
{% block filters %}{% endblock %}
|
{% block filters %}{% endblock %}
|
||||||
|
|
||||||
<form id="changelist-form" action="" method="post">
|
{% block result_list %}
|
||||||
{% csrf_token %}
|
{% if objects %}
|
||||||
|
<div class="results">
|
||||||
{% block result_list %}
|
<table cellspacing="0" id="result_list">
|
||||||
{% if objects %}
|
<thead>
|
||||||
<div class="results">
|
<tr>
|
||||||
<table cellspacing="0" id="result_list">
|
{% for header in objects.0.keys %}
|
||||||
<thead>
|
<th scope="col">{{ header|capfirst }}</th>
|
||||||
<tr>
|
{% endfor %}
|
||||||
{% for header in objects.0.keys %}
|
<th></th>
|
||||||
<th scope="col">{{ header|capfirst }}</th>
|
</tr>
|
||||||
{% endfor %}
|
</thead>
|
||||||
<th></th>
|
<tbody>
|
||||||
</tr>
|
{% for result in objects %}
|
||||||
</thead>
|
<tr class="{% cycle 'row1' 'row2' %}">
|
||||||
<tbody>
|
{% for item in result.values %}
|
||||||
{% for result in objects %}
|
<td>{{ item }}</td>
|
||||||
<tr class="{% cycle 'row1' 'row2' %}">
|
{% endfor %}
|
||||||
{% for item in result.values %}
|
<td>
|
||||||
<td>{{ item }}</td>
|
|
||||||
{% endfor %}
|
|
||||||
{% if result.is_enabled and result.approved_at %}
|
{% if result.is_enabled and result.approved_at %}
|
||||||
<td>
|
<form method="POST" action="{% url "admin:djrill_disable_sender" %}">
|
||||||
<form method="post" action="{% url "admin:djrill_disable_sender" %}">
|
|
||||||
<input type="hidden" name="email" value="{{ result.address }}">
|
|
||||||
{% csrf_token %}
|
|
||||||
<button>disable</buton>
|
|
||||||
</form>
|
|
||||||
</td>
|
|
||||||
{% else %}
|
{% else %}
|
||||||
<td><button>enable</button></td>
|
<form method="POST" action="{% url "admin:djrill_verify_sender" %}">
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</tr>
|
<input type="hidden" name="email" value="{{ result.address }}">
|
||||||
{% endfor %}
|
{% csrf_token %}
|
||||||
</tbody>
|
{% if result.is_enabled and result.approved_at %}
|
||||||
</table>
|
<button>disable</buton>
|
||||||
</div>
|
{% else %}
|
||||||
{% endif %}
|
<button>enable</buton>
|
||||||
{% endblock %}
|
{% endif %}
|
||||||
{% block pagination %}{% endblock %}
|
</form>
|
||||||
</form>
|
</td>
|
||||||
|
</tr>
|
||||||
|
{% endfor %}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
{% endblock %}
|
||||||
|
{% block pagination %}{% endblock %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
from django import forms
|
from django import forms
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
|
from django.contrib import messages
|
||||||
from django.core.exceptions import ImproperlyConfigured
|
from django.core.exceptions import ImproperlyConfigured
|
||||||
from django.core.urlresolvers import reverse
|
from django.core.urlresolvers import reverse
|
||||||
from django.http import (HttpResponseForbidden, HttpResponseRedirect)
|
from django.http import (HttpResponseForbidden, HttpResponseRedirect)
|
||||||
@@ -79,6 +80,8 @@ class DjrillSendersListView(DjrillAdminMedia, DjrillApiMixin,
|
|||||||
|
|
||||||
class DjrillSenderView(DjrillApiMixin, View):
|
class DjrillSenderView(DjrillApiMixin, View):
|
||||||
api_action = None
|
api_action = None
|
||||||
|
error_message = None
|
||||||
|
success_message = None
|
||||||
|
|
||||||
def post(self, request):
|
def post(self, request):
|
||||||
email = request.POST.get("email", None)
|
email = request.POST.get("email", None)
|
||||||
@@ -92,14 +95,21 @@ class DjrillSenderView(DjrillApiMixin, View):
|
|||||||
data=json.dumps(payload))
|
data=json.dumps(payload))
|
||||||
|
|
||||||
if req.status_code == 200:
|
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()
|
return HttpResponseForbidden()
|
||||||
|
|
||||||
|
|
||||||
class DjrillDisableSenderView(DjrillSenderView):
|
class DjrillDisableSenderView(DjrillSenderView):
|
||||||
api_action = "users/disable-sender.json"
|
api_action = "users/disable-sender.json"
|
||||||
|
error_message = "Sender was not disabled."
|
||||||
|
success_message = "Sender was disabled."
|
||||||
|
|
||||||
|
|
||||||
class DjrillVerifySenderView(DjrillSenderView):
|
class DjrillVerifySenderView(DjrillSenderView):
|
||||||
api_action = "users/verify-sender.json"
|
api_action = "users/verify-sender.json"
|
||||||
|
error_message = "Sender was not verified."
|
||||||
|
success_message = "Sender was verified."
|
||||||
|
|||||||
Reference in New Issue
Block a user