diff --git a/registrasion/forms.py b/registrasion/forms.py index bf6549b7..27f9cc14 100644 --- a/registrasion/forms.py +++ b/registrasion/forms.py @@ -402,7 +402,9 @@ class InvoiceNagForm(forms.Form): widget=forms.CheckboxSelectMultiple, queryset=commerce.Invoice.objects.all(), ) - message = forms.CharField( + from_email = forms.CharField() + subject = forms.CharField() + body = forms.CharField( widget=forms.Textarea, ) diff --git a/registrasion/views.py b/registrasion/views.py index a65b4a7b..5f57eb20 100644 --- a/registrasion/views.py +++ b/registrasion/views.py @@ -26,9 +26,11 @@ from django.contrib.auth.models import User from django.contrib import messages from django.core.exceptions import ObjectDoesNotExist from django.core.exceptions import ValidationError +from django.core.mail import send_mass_mail from django.http import Http404 from django.shortcuts import redirect from django.shortcuts import render +from django.template import Context, Template _GuidedRegistrationSection = namedtuple( @@ -931,6 +933,22 @@ def nag_unpaid(request): product=product, ) + if form.is_valid(): + emails = [] + for invoice in form.cleaned_data["invoice"]: + # datatuple = (subject, message, from_email, recipient_list) + from_email = form.cleaned_data["from_email"] + subject = form.cleaned_data["subject"] + body = Template(form.cleaned_data["body"]).render( + Context({ + "invoice" : invoice, + }) + ) + recipient_list = [invoice.user.email] + emails.append((subject, body, from_email, recipient_list)) + send_mass_mail(emails) + messages.info(request, "The e-mails have been sent.") + data = { "form": form, }