Adds functionality for sending nag e-mails
This commit is contained in:
		
							parent
							
								
									051a942ffe
								
							
						
					
					
						commit
						19b59d7676
					
				
					 2 changed files with 21 additions and 1 deletions
				
			
		|  | @ -402,7 +402,9 @@ class InvoiceNagForm(forms.Form): | ||||||
|         widget=forms.CheckboxSelectMultiple, |         widget=forms.CheckboxSelectMultiple, | ||||||
|         queryset=commerce.Invoice.objects.all(), |         queryset=commerce.Invoice.objects.all(), | ||||||
|     ) |     ) | ||||||
|     message = forms.CharField( |     from_email = forms.CharField() | ||||||
|  |     subject = forms.CharField() | ||||||
|  |     body = forms.CharField( | ||||||
|         widget=forms.Textarea, |         widget=forms.Textarea, | ||||||
|     ) |     ) | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -26,9 +26,11 @@ from django.contrib.auth.models import User | ||||||
| from django.contrib import messages | from django.contrib import messages | ||||||
| from django.core.exceptions import ObjectDoesNotExist | from django.core.exceptions import ObjectDoesNotExist | ||||||
| from django.core.exceptions import ValidationError | from django.core.exceptions import ValidationError | ||||||
|  | from django.core.mail import send_mass_mail | ||||||
| from django.http import Http404 | from django.http import Http404 | ||||||
| from django.shortcuts import redirect | from django.shortcuts import redirect | ||||||
| from django.shortcuts import render | from django.shortcuts import render | ||||||
|  | from django.template import Context, Template | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| _GuidedRegistrationSection = namedtuple( | _GuidedRegistrationSection = namedtuple( | ||||||
|  | @ -931,6 +933,22 @@ def nag_unpaid(request): | ||||||
|         product=product, |         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 = { |     data = { | ||||||
|         "form": form, |         "form": form, | ||||||
|     } |     } | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Christopher Neugebauer
						Christopher Neugebauer