diff --git a/DjangoFiles/ApiBillet/templates/ticket/ticket.html b/DjangoFiles/ApiBillet/templates/ticket/ticket.html index 2bfd769..85d6ea5 100644 --- a/DjangoFiles/ApiBillet/templates/ticket/ticket.html +++ b/DjangoFiles/ApiBillet/templates/ticket/ticket.html @@ -1,4 +1,4 @@ - + {% load static %} @@ -11,7 +11,7 @@
-

Théodore Marcelin

+

{{ ticket.first_name }} {{ ticket.last_name }}

CDG ✈ LFLL

Flight
diff --git a/DjangoFiles/ApiBillet/thread_mailer.py b/DjangoFiles/ApiBillet/thread_mailer.py index a23699f..266a691 100644 --- a/DjangoFiles/ApiBillet/thread_mailer.py +++ b/DjangoFiles/ApiBillet/thread_mailer.py @@ -1,8 +1,10 @@ import os import threading from django.core.mail import send_mail, EmailMessage, EmailMultiAlternatives +from django.db import connection from django.template.loader import render_to_string from django.utils import timezone +from stripe.http_client import requests from weasyprint import HTML from BaseBillet.models import Configuration, Reservation, Ticket @@ -31,18 +33,24 @@ class ThreadMaileur(): if template and context : self.html = render_to_string(template, context=context) self.context = context - self.attached_file = self._attached_file() + self.tickets_uuid = self._tickets_uuid() + self.url = self._url() - def _attached_file(self): - attached_file = [] + def _url(self): + url = f"http://{connection.tenant.domains.all()[0].domain}:8002/api/ticket/" + return url + + def _tickets_uuid(self): + tickets_uuid = [] if self.context : if self.context.get('reservation'): reservation: Reservation = self.context.get('reservation') tickets = reservation.tickets.filter(status=Ticket.NOT_SCANNED) if len(tickets) > 0: for ticket in tickets : - attached_file.append(render_to_string('ticket/ticket.html', context={'context': 'context'})) - return attached_file + tickets_uuid.append(f"{ticket.uuid}") + + return tickets_uuid def config_valid(self): EMAIL_HOST = os.environ.get('EMAIL_HOST') @@ -66,15 +74,24 @@ class ThreadMaileur(): ) mail.attach_alternative(self.html, "text/html") + attached_file = [] + for ticket in self.tickets_uuid : + + response = requests.get(f"{self.url}{ticket}") + if response.status_code == 200: + attached_file.append(response.content) + + # attached_file.append(render_to_string('ticket/ticket.html', context={'context': 'context'})) # msg = EmailMessage(subject, html_content, from_email, [to]) # msg.content_subtype = "html" # Main content is now text/html # msg.send() # import ipdb; ipdb.set_trace() i=1 - for file in self.attached_file: - html_before_pdf = HTML(string=file) - mail.attach(f'ticket_{i}.pdf', html_before_pdf.write_pdf(), 'application/pdf') + for file in attached_file: + # html_before_pdf = HTML(string=file) + # mail.attach(f'ticket_{i}.pdf', html_before_pdf.write_pdf(), 'application/pdf') + mail.attach(f'ticket_{i}.pdf', file, 'application/pdf') i += 1 @@ -91,8 +108,8 @@ class ThreadMaileur(): def send_with_tread(self): - self.send() - # logger.info(f'{timezone.now()} on lance le thread email {self.email}') - # thread_email = threading.Thread(target=self.send) - # thread_email.start() - # logger.info(f'{timezone.now()} Thread email lancé') \ No newline at end of file + # self.send() + logger.info(f'{timezone.now()} on lance le thread email {self.email}') + thread_email = threading.Thread(target=self.send) + thread_email.start() + logger.info(f'{timezone.now()} Thread email lancé') \ No newline at end of file diff --git a/DjangoFiles/ApiBillet/urls.py b/DjangoFiles/ApiBillet/urls.py index 1890724..4308307 100644 --- a/DjangoFiles/ApiBillet/urls.py +++ b/DjangoFiles/ApiBillet/urls.py @@ -15,6 +15,6 @@ router.register(r'reservations', api_view.ReservationViewset, basename='reservat urlpatterns = [ path('', include(router.urls)), - path('ticket/', TicketPdf.as_view()), + path('ticket/', TicketPdf.as_view(), name='ticket_uuid'), ] \ No newline at end of file diff --git a/DjangoFiles/ApiBillet/static/ticket/barlowcondensed-bold.otf b/DjangoFiles/BaseBillet/static/ticket/barlowcondensed-bold.otf similarity index 100% rename from DjangoFiles/ApiBillet/static/ticket/barlowcondensed-bold.otf rename to DjangoFiles/BaseBillet/static/ticket/barlowcondensed-bold.otf diff --git a/DjangoFiles/ApiBillet/static/ticket/barlowcondensed-light.otf b/DjangoFiles/BaseBillet/static/ticket/barlowcondensed-light.otf similarity index 100% rename from DjangoFiles/ApiBillet/static/ticket/barlowcondensed-light.otf rename to DjangoFiles/BaseBillet/static/ticket/barlowcondensed-light.otf diff --git a/DjangoFiles/ApiBillet/static/ticket/barlowcondensed-regular.otf b/DjangoFiles/BaseBillet/static/ticket/barlowcondensed-regular.otf similarity index 100% rename from DjangoFiles/ApiBillet/static/ticket/barlowcondensed-regular.otf rename to DjangoFiles/BaseBillet/static/ticket/barlowcondensed-regular.otf diff --git a/DjangoFiles/ApiBillet/static/ticket/librebarcode128-regular.ttf b/DjangoFiles/BaseBillet/static/ticket/librebarcode128-regular.ttf similarity index 100% rename from DjangoFiles/ApiBillet/static/ticket/librebarcode128-regular.ttf rename to DjangoFiles/BaseBillet/static/ticket/librebarcode128-regular.ttf diff --git a/DjangoFiles/ApiBillet/static/ticket/ticket.css b/DjangoFiles/BaseBillet/static/ticket/ticket.css similarity index 99% rename from DjangoFiles/ApiBillet/static/ticket/ticket.css rename to DjangoFiles/BaseBillet/static/ticket/ticket.css index e4b2fa7..ca971ae 100644 --- a/DjangoFiles/ApiBillet/static/ticket/ticket.css +++ b/DjangoFiles/BaseBillet/static/ticket/ticket.css @@ -25,14 +25,15 @@ html { align-content: center; align-items: center; - background: #eef1f5; + background: #fff; display: flex; font-family: Barlow Condensed, sans-serif; height: 100%; justify-content: center; } body { - background: #fff; + background: #eef1f5; + box-sizing: border-box; color: #2A3239; display: flex;