diff --git a/djrill/admin.py b/djrill/admin.py
index 43b6eb5..b54c3fa 100644
--- a/djrill/admin.py
+++ b/djrill/admin.py
@@ -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")
diff --git a/djrill/forms.py b/djrill/forms.py
index e69de29..87e48cf 100644
--- a/djrill/forms.py
+++ b/djrill/forms.py
@@ -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()
diff --git a/djrill/templates/djrill/senders_list.html b/djrill/templates/djrill/senders_list.html
index 8d73b76..81771e0 100644
--- a/djrill/templates/djrill/senders_list.html
+++ b/djrill/templates/djrill/senders_list.html
@@ -52,8 +52,16 @@
{% endif %}
{% endblock %}
+
+
Add a new sender
+
+
- {% block search %}{% endblock %}
+ {% block search %}{% endblock %}
{% block date_hierarchy %}{% endblock %}
{% block filters %}{% endblock %}
diff --git a/djrill/views.py b/djrill/views.py
index eb2f4f2..28bad62 100644
--- a/djrill/views.py
+++ b/djrill/views.py
@@ -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."