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

@@ -58,9 +58,6 @@
{% block filters %}{% endblock %}
<form id="changelist-form" action="" method="post">
{% csrf_token %}
{% block result_list %}
{% if objects %}
<div class="results">
@@ -79,17 +76,21 @@
{% for item in result.values %}
<td>{{ item }}</td>
{% endfor %}
{% if result.is_enabled and result.approved_at %}
<td>
<form method="post" action="{% url "admin:djrill_disable_sender" %}">
{% 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>
{% else %}
<td><button>enable</button></td>
{% endif %}
</tr>
{% endfor %}
</tbody>
@@ -98,7 +99,6 @@
{% endif %}
{% endblock %}
{% block pagination %}{% endblock %}
</form>
</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,6 +95,9 @@ class DjrillSenderView(DjrillApiMixin, View):
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()
@@ -99,7 +105,11 @@ class DjrillSenderView(DjrillApiMixin, View):
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."