diff --git a/vendor/regidesk/regidesk/views.py b/vendor/regidesk/regidesk/views.py
index c10eee04..52a0e2ec 100644
--- a/vendor/regidesk/regidesk/views.py
+++ b/vendor/regidesk/regidesk/views.py
@@ -1,6 +1,7 @@
import base64
import logging
from datetime import datetime
+from email.mime.image import MIMEImage
from django.core.exceptions import ValidationError
from django.core.mail import EmailMultiAlternatives
@@ -169,7 +170,7 @@ def boarding_send(request):
"user": user,
"checkin": user.checkin,
"code": user.checkin.code,
- "qrcode": user.checkin.qrcode,
+ "qrcode": '
',
"qrcode_url": request.build_absolute_uri(
reverse("regidesk:checkin_png", args=[user.checkin.code])),
}
@@ -188,29 +189,34 @@ def boarding_send(request):
html_body=html_body
)
bpass.save()
+
if user.checkin.boardingpass:
user.checkin.boardingpass.delete()
user.checkin.boardingpass = bpass
user.checkin.save()
- with transaction.atomic():
+ msg = EmailMultiAlternatives(
+ bpass.subject,
+ bpass.body,
+ bpass.from_address,
+ [bpass.to_address,],
+ )
+ msg.content_subtype="html"
+ msg.mixed_subtype="related"
+ if bpass.html_body:
+ msg.attach_alternative(bpass.html_body, "text/html")
- msg = EmailMultiAlternatives(
- bpass.subject,
- bpass.body,
- bpass.from_address,
- [bpass.to_address,],
- )
- if bpass.html_body:
- msg.attach_alternative(bpass.html_body, "text/html")
+ qrcode_image = MIMEImage(base64.b64decode(user.checkin.qrcode))
+ qrcode_image.add_header('Content-ID', '')
+ msg.attach(qrcode_image)
- if user in boarding_users:
+ if user in boarding_users:
+ with transaction.atomic():
msg.send()
-
bpass.sent = datetime.now()
bpass.save()
messages.success(request, "Sent boarding pass to %s" % attendee)
- request.session['boarding_attendees'].remove(attendee.pk)
+ request.session['boarding_attendees'].remove(attendee.pk)
return redirect("regidesk:boarding_overview")