mirror of
https://github.com/pacnpal/django-anymail.git
synced 2025-12-20 11:51:05 -05:00
Add form and view for adding a new sender.
This commit is contained in:
@@ -1,7 +1,8 @@
|
||||
from django.contrib import admin
|
||||
|
||||
from djrill.views import (DjrillIndexView, DjrillSendersListView,
|
||||
DjrillDisableSenderView, DjrillVerifySenderView)
|
||||
DjrillDisableSenderView, DjrillVerifySenderView,
|
||||
DjrillAddSenderView)
|
||||
|
||||
admin.site.register_view("djrill/senders/", DjrillSendersListView.as_view(),
|
||||
"djrill_senders", "senders")
|
||||
@@ -12,3 +13,5 @@ admin.site.register_url("djrill/disable/sender/",
|
||||
DjrillDisableSenderView.as_view(), "djrill_disable_sender")
|
||||
admin.site.register_url("djrill/verify/sender/",
|
||||
DjrillVerifySenderView.as_view(), "djrill_verify_sender")
|
||||
admin.site.register_url("djrill/add/sender/",
|
||||
DjrillAddSenderView.as_view(), "djrill_add_sender")
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
from django import forms
|
||||
from django.conf import settings
|
||||
from django.core.exceptions import ImproperlyConfigured
|
||||
|
||||
|
||||
class CreateSenderForm(forms.Form):
|
||||
email = forms.EmailField()
|
||||
|
||||
@@ -52,8 +52,16 @@
|
||||
</ul>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
<p>Add a new sender</p>
|
||||
<form action="{% url "admin:djrill_add_sender" %}" method="POST">
|
||||
{{ form.as_p }}
|
||||
{% csrf_token %}
|
||||
<input type="submit" value="Submit">
|
||||
</form>
|
||||
|
||||
<div class="module" id="changelist">
|
||||
{% block search %}{% endblock %}
|
||||
{% block search %}{% endblock %}
|
||||
{% block date_hierarchy %}{% endblock %}
|
||||
|
||||
{% block filters %}{% endblock %}
|
||||
|
||||
@@ -7,6 +7,8 @@ from django.http import (HttpResponseForbidden, HttpResponseRedirect)
|
||||
from django.utils import simplejson as json
|
||||
from django.views.generic import TemplateView, View
|
||||
|
||||
from djrill.forms import CreateSenderForm
|
||||
|
||||
try:
|
||||
import requests
|
||||
except ImportError:
|
||||
@@ -71,12 +73,29 @@ class DjrillSendersListView(DjrillAdminMedia, DjrillApiMixin,
|
||||
template_name = "djrill/senders_list.html"
|
||||
|
||||
def get(self, request):
|
||||
form = CreateSenderForm()
|
||||
objects = self.get_json_objects()
|
||||
return self.render_to_response({
|
||||
"objects": json.loads(objects),
|
||||
"media": self.media
|
||||
"media": self.media,
|
||||
"form": form
|
||||
})
|
||||
|
||||
def post(self, request):
|
||||
form = CreateSenderForm(request.POST or None)
|
||||
|
||||
if form.is_valid():
|
||||
return HttpResponseRedirect(reverse("admin:djrill_senders"))
|
||||
|
||||
objects = self.get_json_objects()
|
||||
return self.render_to_response({
|
||||
"objects": json.loads(objects),
|
||||
"media": self.media,
|
||||
"form": form
|
||||
})
|
||||
|
||||
|
||||
|
||||
|
||||
class DjrillSenderView(DjrillApiMixin, View):
|
||||
api_action = None
|
||||
@@ -113,3 +132,8 @@ class DjrillVerifySenderView(DjrillSenderView):
|
||||
api_action = "users/verify-sender.json"
|
||||
error_message = "Sender was not verified."
|
||||
success_message = "Sender was verified."
|
||||
|
||||
|
||||
class DjrillAddSenderView(DjrillVerifySenderView):
|
||||
error_message = "Sender was not added."
|
||||
success_message = "Sender was added."
|
||||
|
||||
Reference in New Issue
Block a user