add newsletter views
parent
a826849031
commit
52d0431ce3
@ -1,2 +1,3 @@
|
||||
{% load i18n %}
|
||||
{% trans "This is the mailer app!" %}
|
||||
<p><a href={% url 'mailer:send' %}>New Mail</a></p>
|
||||
|
||||
@ -0,0 +1,25 @@
|
||||
{% load i18n %}
|
||||
{% trans "Here you can send new emails!" %}
|
||||
|
||||
{% if error_message %}
|
||||
<p><b>{{ error_message }}</b></p>
|
||||
{% endif %}
|
||||
|
||||
<form action="{% url 'mailer:send_mail' %}" method="post">
|
||||
{% csrf_token %}
|
||||
|
||||
{% trans "Subject:" %}<br>
|
||||
<input type="text" name="subject"><br>
|
||||
|
||||
{% trans "Content:" %}<br>
|
||||
<textarea rows="10" cols="80" name="content"></textarea><br>
|
||||
|
||||
{% trans "Receiving group:" %}<br>
|
||||
<select name="to_group">
|
||||
{% for group in groups %}
|
||||
<option value="{{ group.id }}">{{ group.name }}</option>
|
||||
{% endfor %}
|
||||
</select><br>
|
||||
|
||||
<input type="submit" value="{% trans "Send mail" %}">
|
||||
</form>
|
||||
@ -1,6 +1,40 @@
|
||||
from django.shortcuts import render
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
from django.urls import reverse
|
||||
from django.http import HttpResponseRedirect
|
||||
from django.contrib.auth.decorators import permission_required
|
||||
|
||||
from members.models import Group
|
||||
|
||||
# Create your views here.
|
||||
from .models import Message
|
||||
|
||||
|
||||
@permission_required('mailer.submit_mails', login_url='/admin/')
|
||||
def index(request):
|
||||
"""This is the main newsletter view"""
|
||||
return render(request, 'mailer/index.html')
|
||||
|
||||
|
||||
@permission_required('mailer.submit_mails', login_url='/admin/')
|
||||
def send(request):
|
||||
return render(request, 'mailer/send.html', {
|
||||
'groups': Group.objects.all()
|
||||
})
|
||||
|
||||
|
||||
@permission_required('mailer.submit_mails', login_url='/admin/')
|
||||
def send_mail(request):
|
||||
try:
|
||||
subject = request.POST['subject']
|
||||
content = request.POST['content']
|
||||
to_group = Group.objects.get(pk=request.POST['to_group'])
|
||||
except (KeyError, Group.DoesNotExist):
|
||||
return render(request, 'mailer/send.html', {
|
||||
'error_message': _("Please fill in every field!"),
|
||||
'groups': Group.objects.all()
|
||||
})
|
||||
else:
|
||||
msg = Message(subject=subject, content=content, to_group=to_group)
|
||||
msg.submit()
|
||||
msg.save()
|
||||
return HttpResponseRedirect(reverse('mailer:index'))
|
||||
|
||||
Loading…
Reference in New Issue