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 django.contrib import admin
|
||||||
|
|
||||||
from djrill.views import (DjrillIndexView, DjrillSendersListView,
|
from djrill.views import (DjrillIndexView, DjrillSendersListView,
|
||||||
DjrillDisableSenderView, DjrillVerifySenderView)
|
DjrillDisableSenderView, DjrillVerifySenderView,
|
||||||
|
DjrillAddSenderView)
|
||||||
|
|
||||||
admin.site.register_view("djrill/senders/", DjrillSendersListView.as_view(),
|
admin.site.register_view("djrill/senders/", DjrillSendersListView.as_view(),
|
||||||
"djrill_senders", "senders")
|
"djrill_senders", "senders")
|
||||||
@@ -12,3 +13,5 @@ admin.site.register_url("djrill/disable/sender/",
|
|||||||
DjrillDisableSenderView.as_view(), "djrill_disable_sender")
|
DjrillDisableSenderView.as_view(), "djrill_disable_sender")
|
||||||
admin.site.register_url("djrill/verify/sender/",
|
admin.site.register_url("djrill/verify/sender/",
|
||||||
DjrillVerifySenderView.as_view(), "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,6 +52,14 @@
|
|||||||
</ul>
|
</ul>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endblock %}
|
{% 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">
|
<div class="module" id="changelist">
|
||||||
{% block search %}{% endblock %}
|
{% block search %}{% endblock %}
|
||||||
{% block date_hierarchy %}{% endblock %}
|
{% block date_hierarchy %}{% endblock %}
|
||||||
|
|||||||
@@ -7,6 +7,8 @@ from django.http import (HttpResponseForbidden, HttpResponseRedirect)
|
|||||||
from django.utils import simplejson as json
|
from django.utils import simplejson as json
|
||||||
from django.views.generic import TemplateView, View
|
from django.views.generic import TemplateView, View
|
||||||
|
|
||||||
|
from djrill.forms import CreateSenderForm
|
||||||
|
|
||||||
try:
|
try:
|
||||||
import requests
|
import requests
|
||||||
except ImportError:
|
except ImportError:
|
||||||
@@ -71,12 +73,29 @@ class DjrillSendersListView(DjrillAdminMedia, DjrillApiMixin,
|
|||||||
template_name = "djrill/senders_list.html"
|
template_name = "djrill/senders_list.html"
|
||||||
|
|
||||||
def get(self, request):
|
def get(self, request):
|
||||||
|
form = CreateSenderForm()
|
||||||
objects = self.get_json_objects()
|
objects = self.get_json_objects()
|
||||||
return self.render_to_response({
|
return self.render_to_response({
|
||||||
"objects": json.loads(objects),
|
"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):
|
class DjrillSenderView(DjrillApiMixin, View):
|
||||||
api_action = None
|
api_action = None
|
||||||
@@ -113,3 +132,8 @@ class DjrillVerifySenderView(DjrillSenderView):
|
|||||||
api_action = "users/verify-sender.json"
|
api_action = "users/verify-sender.json"
|
||||||
error_message = "Sender was not verified."
|
error_message = "Sender was not verified."
|
||||||
success_message = "Sender was 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