<!DOCTYPE html><html lang="fr">{# @var clientOrder \App\Entity\ClientOrder #}<head> <title>Votre projet de cadre du mesure</title> <style> {{ source('@styles/order_client.css') }} /* Constrain logo size to prevent rendering issues */ img.logo { max-width: 150px; height: auto; } /* Add constraints to the logo container div */ header .div1 { max-width: 150px; max-height: 60px; overflow: hidden; } </style></head><body><header> <div class="div1"> {% if clientOrder.project.projectSettings.logoPath %} <img src="{{ app.request.schemeAndHttpHost ~ clientOrder.project.projectSettings.logoPath }}" class="logo"> {% endif %} </div> <div class="div2"> <div class="title">Votre projet de cadre sur mesure</div> {% if clientOrder.reference %} <div class="title" style="margin-top: 4mm; font-weight: normal">Référence unique : {{ clientOrder.reference }}</div> {% endif %} </div></header><body> {% if get_project_setting(clientOrder.project, 'extraTicketInfo') and get_project_setting(clientOrder.project, 'extraTicketInfo') != "false" %} <div style="margin-bottom: 3mm; font-weight: bold;"> {{ get_project_setting(clientOrder.project, 'extraTicketInfo') }} </div> {% endif %} <div class="info_client"> {% set hasInternaut = false %} {% if clientOrder.internaute is not null and (clientOrder.internaute.firstname is not empty and clientOrder.internaute.lastname is not empty) %} {% set hasInternaut = true %} <div class="div1"> <div class="label">Informations du client:</div> <div class="data"> <div>{{ clientOrder.internaute.firstname ?? '' }} {{ clientOrder.internaute.lastname ?? '' }}</div> <div> {{ clientOrder.internaute.address ?? '' }} {% if clientOrder.internaute.address2 ?? '' %} {{ clientOrder.internaute.address2 }}<br> {% endif %} {% if (clientOrder.internaute.town ?? '') or (clientOrder.internaute.postalCode ?? '') %} {{ clientOrder.internaute.town }} {{ clientOrder.internaute.postalCode }},<br> {% endif %} {% if clientOrder.internaute.country ?? '' %} {{ clientOrder.internaute.country }} {% endif %} </div> {% if clientOrder.internaute.email %} <div>{{ clientOrder.internaute.email }}</div> {% endif %} {% if clientOrder.internaute.phone %} <div>{{ clientOrder.internaute.phone }}</div> {% endif %} {% if clientOrder.internaute.loyaltyCard %} <div>Numéro de carte de fidélité : {{ clientOrder.internaute.loyaltyCard ?? '' }}</div> {% endif %} </div> </div> {% endif %} <div class="div2" style="float: right; text-align: right;"> <div style="width: 100%; text-align: right;"> <div class="data">{{ clientOrder.created|date('d/m/Y à H\\hi') }}</div> <div class="data">{{ clientOrder.project.name }}</div> {% if clientOrder.sellerName is not null and clientOrder.comment is not empty %} <div class="data">{{ clientOrder.sellerName ?? '' }}</div> {% endif %} {% if clientOrder.comment is not null and clientOrder.comment is not empty %} <div class="data">{{ clientOrder.comment|nl2br }}</div> {% endif %} </div> </div> </div> {# Import shared macros #} {% from 'client_order/macros/order_products.html.twig' import render_order_products %} {# Display products using shared macro system #} {{ render_order_products(clientOrder, 'pdf') }} <div style="font-style: italic; margin-top: 2mm;"> Le prix affiché et la disponibilité des produits sont applicables au moment de la simulation et sont donc susceptibles d'évolution, notamment en fonction de la date de commande. </div> <div class="price"> <div class="label">Total TTC :</div> <div class="data">{{ clientOrder.price|price }}</div> </div> {% if ( clientOrder.project.projectSettings.hasNewDesign is null or clientOrder.project.projectSettings.hasNewDesign == false ) %} <div class="title">Devis valable 1 mois à compter de sa date d'émission</div> {% endif %} <div class="info_client" style="margin-top: 8mm;"> <div style="display: inline-block"> {% if clientOrder.project.projectSettings.hasNewDesign is null or clientOrder.project.projectSettings.hasNewDesign == false %} <div class="label">Vous souhaitez modifier votre projet ? Renseignez le lien ci-dessous dans votre navigateur</div> <div class="data" style="margin-top:3mm">Lien de sauvegarde : {{ clientOrder.saveLink }}</div> {% else %} {% set devisCode = clientOrder.tinyUrls|last.slug|default('') %} {% if devisCode %} <div class="label">Vous souhaitez modifier votre projet ? Renseignez le code ci-dessous dans notre configurateur</div> <div class="data" style="margin-top:3mm">Code : {{ devisCode }}</div> {% endif %} {% endif %} </div> {% if clientOrder.project.projectSettings.hasNewDesign is null or clientOrder.project.projectSettings.hasNewDesign == false %} {% if clientOrder.saveLink %} <div style="display: inline-block; vertical-align: middle"> <img src="{{ qr_code_data_uri(clientOrder.saveLink) }}" alt="QR Code" style="max-height: 60px; margin-left: 3mm"> </div> {% endif %} {% endif %} </div></body>