Changeset - 78714600bf70
[Not reviewed]
0 1 0
Christopher Neugebauer - 7 years ago 2017-01-09 08:16:30
chrisjrn@gmail.com
Refactors badge to have render_badge too.
1 file changed with 14 insertions and 6 deletions:
0 comments (0 inline, 0 general)
registrasion/views.py
Show inline comments
...
 
@@ -930,59 +930,67 @@ def invoice_mailout(request):
 
    ''' Allows staff to send emails to users based on their invoice status. '''
 

	
 
    category = request.GET.getlist("category", [])
 
    product  = request.GET.getlist("product", [])
 
    status  = request.GET.get("status")
 

	
 
    form = forms.InvoiceEmailForm(
 
        request.POST or None,
 
        category=category,
 
        product=product,
 
        status=status,
 
    )
 

	
 
    emails = []
 

	
 
    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,
 
                    "user" : invoice.user,
 
                })
 
            )
 
            recipient_list = [invoice.user.email]
 
            emails.append(Email(subject, body, from_email, recipient_list))
 

	
 
        if form.cleaned_data["action"] == forms.InvoiceEmailForm.ACTION_SEND:
 
            # Send e-mails *ONLY* if we're sending.
 
            send_mass_mail(emails)
 
            messages.info(request, "The e-mails have been sent.")
 

	
 
    data = {
 
        "form": form,
 
        "emails": emails,
 
    }
 

	
 
    return render(request, "registrasion/invoice_mailout.html", data)
 

	
 

	
 
@user_passes_test(_staff_only)
 
def badge(request, user_id):
 
    ''' Renders a single user's badge (SVG). '''
 

	
 
    user_id = int(user_id)
 
    user = User.objects.get(pk=user_id)
 

	
 
    data = {
 
        "user": User.objects.get(pk=user_id),
 
    }
 

	
 
    t = loader.get_template('registrasion/badge.svg')
 
    response = HttpResponse(t.render(data, request))
 
    rendered = render_badge(user)
 
    response = HttpResponse(rendered)
 

	
 
    response["Content-Type"] = "image/svg+xml"
 
    response["Content-Disposition"] = 'inline; filename="badge.svg"'
 
    return response
 

	
 

	
 
def render_badge(user):
 
    ''' Renders a single user's badge. '''
 

	
 
    data = {
 
        "user": user,
 
    }
 

	
 
    t = loader.get_template('registrasion/badge.svg')
 
    return t.render(data)
0 comments (0 inline, 0 general)