cleaner form, properly sending. view has a bit more config

This commit is contained in:
Kenneth Love
2012-01-16 18:09:44 -08:00
parent ddfde06be4
commit e8c3d84b28
3 changed files with 50 additions and 40 deletions

View File

@@ -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")

View File

@@ -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 %}

View File

@@ -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."