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 %} {% block filters %}{% endblock %}
<form id="changelist-form" action="" method="post">
{% csrf_token %}
{% block result_list %} {% block result_list %}
{% if objects %} {% if objects %}
<div class="results"> <div class="results">
@@ -79,17 +76,21 @@
{% for item in result.values %} {% for item in result.values %}
<td>{{ item }}</td> <td>{{ item }}</td>
{% endfor %} {% endfor %}
{% if result.is_enabled and result.approved_at %}
<td> <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 }}"> <input type="hidden" name="email" value="{{ result.address }}">
{% csrf_token %} {% csrf_token %}
{% if result.is_enabled and result.approved_at %}
<button>disable</buton> <button>disable</buton>
{% else %}
<button>enable</buton>
{% endif %}
</form> </form>
</td> </td>
{% else %}
<td><button>enable</button></td>
{% endif %}
</tr> </tr>
{% endfor %} {% endfor %}
</tbody> </tbody>
@@ -98,7 +99,6 @@
{% endif %} {% endif %}
{% endblock %} {% endblock %}
{% block pagination %}{% endblock %} {% block pagination %}{% endblock %}
</form>
</div> </div>
</div> </div>
{% endblock %} {% endblock %}

View File

@@ -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,6 +95,9 @@ class DjrillSenderView(DjrillApiMixin, View):
data=json.dumps(payload)) data=json.dumps(payload))
if req.status_code == 200: 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 HttpResponseRedirect(reverse("admin:djrill_senders"))
return HttpResponseForbidden() return HttpResponseForbidden()
@@ -99,7 +105,11 @@ class DjrillSenderView(DjrillApiMixin, View):
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."