You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
kompass/jdav_web/mailer/views.py

41 lines
1.3 KiB
Python

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
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'))