https://dev.app.pol-crm.com/api/quote/753d0f24880b40db9a45aa5fe5f480d0/generatepdf

ErrorController

Request

GET Parameters

No GET parameters

POST Parameters

No POST parameters

Uploaded Files

No files were uploaded

Request Attributes

Key Value
_controller
"error_controller"
_links
Fig\Link\GenericLinkProvider {#7402
  -links: [
    "00000000779c47b1000000000f100361" => Fig\Link\Link {#7378
      -href: "https://dev.app.pol-crm.com/api/docs.jsonld"
      -rel: [
        "http://www.w3.org/ns/hydra/core#apiDocumentation" => true
      ]
      -attributes: []
    }
  ]
}
_stopwatch_token
"78072d"
exception
Twig\Error\RuntimeError {#7024
  -lineno: 53
  -name: "quote_pdf (string template bdbd82de5dd1d12da3fd1b29d6c5cb5e0417e847d1e165bc7afd226de96c353f)"
  -rawMessage: "An exception has been thrown during the rendering of a template ("HTTP/1.1 500 Internal Server Error returned for "http://dev.pol-api-ged.pol-crm.com/api/customer_resource/download/8181224a818c4943a537b3d883d6746e".")."
  -sourcePath: ""
  -sourceCode: """
    {% set quoteAddress = '' %}\n
    {% set quoteCity = '' %}\n
    {% set quotePostalCode = '' %}\n
    {% set quoteBuildingName = '' %}\n
    {% set quoteOfferType = '' %}\n
    {% set quoteMissionType = '' %}\n
    {% set quoteAgency = '' %}\n
    {% set quoteEntity = '' %}\n
    \n
    {% for specificField in quote.specificFields|default([]) %}\n
        {% if specificField.fieldName == "Adresse" %}\n
            {% set quoteAddress = specificField.value|default('') %}\n
        {% endif %}\n
        {% if specificField.fieldName == "Ville" %}\n
            {% set quoteCity = specificField.value|default('') %}\n
        {% endif %}\n
        {% if specificField.fieldName == "Code postal" %}\n
            {% set quotePostalCode = specificField.value|default('') %}\n
        {% endif %}\n
        {% if specificField.fieldName == "Nom du bâtiment" %}\n
            {% set quoteBuildingName = specificField.value|default('') %}\n
        {% endif %}\n
        {% if specificField.fieldName == "Type d'offre" %}\n
            {% set quoteOfferType = specificField.value|default('') %}\n
        {% endif %}\n
        {% if specificField.fieldName == "Type de mission" %}\n
            {% set quoteMissionType = specificField.value|default('') %}\n
        {% endif %}\n
        {% if specificField.fieldName == "Agence" %}\n
            {% set quoteAgency = specificField.value|default('') %}\n
        {% endif %}\n
        {% if specificField.fieldName == "Entite" %}\n
            {% set quoteEntity = specificField.value|default('') %}\n
        {% endif %}\n
    {% endfor %}\n
    \n
    {% set agencyCity = '' %}\n
    \n
    {% if quoteAgency|upper == "AGA" %}\n
        {% set agencyCity = "Annecy" %}\n
    {% elseif quoteAgency|upper == "AGG" or quoteAgency|upper == "RVI" %}\n
        {% set agencyCity = "Grenoble" %}\n
    {% elseif quoteAgency|upper == "AGC" or quoteAgency|upper == "AGB" %}\n
        {% set agencyCity = "Chambéry" %}\n
    {% elseif quoteAgency|upper == "AGV" %}\n
        {% set agencyCity = "Vienne" %}\n
    {% elseif quoteAgency|upper == "AGL" %}\n
        {% set agencyCity = "Villeurbanne" %}\n
    {% elseif quoteAgency|upper == "AGS" %}\n
        {% set agencyCity = "Sallanches" %}\n
    {% endif %}\n
    \n
    {% set logoImg = gedImageByPath('CHARTE GRAPHIQUE/' ~ quoteAgency ~ '/' ~ quoteEntity ~ '/logo.png') %}\n
    {% set footerImg = gedImageByPath('CHARTE GRAPHIQUE/' ~ quoteAgency ~ '/' ~ quoteEntity ~ '/footer.png') %}\n
    \n
    <!DOCTYPE html>\n
    <html>\n
    <head>\n
        <meta charset="UTF-8">\n
    </head>\n
    <body>\n
    {# All styles must be in CSS2 #}\n
    <style>\n
        @page {\n
            margin: 5cm 1cm 2.5cm 1cm;\n
        }\n
    \n
        html {\n
            font-size: 14px;\n
            font-family: Arial, sans-serif;\n
            color: #545454;\n
        }\n
    \n
        p {\n
            line-height: 1.3;\n
            margin: unset;\n
        }\n
    \n
        h1,\n
        h2,\n
        h3 {\n
            text-align: center;\n
            background: #0f243e;\n
            padding: 0.5rem;\n
            color: #fff;\n
        }\n
    \n
        h1 {\n
            font-size: 1.4rem;\n
        }\n
    \n
        h2 {\n
            font-size: 1.1rem;\n
        }\n
    \n
        h3 {\n
            padding-top: 0.3rem;\n
            padding-bottom: 0.3rem;\n
            font-size: 0.9rem;\n
        }\n
    \n
        .break-before {\n
            page-break-before: always;\n
        }\n
    \n
        .break-after {\n
            page-break-after: always;\n
        }\n
    \n
        .underline {\n
            text-decoration: underline;\n
        }\n
    \n
        .pdf-template__header {\n
            position: fixed;\n
            z-index: -2;\n
            top: -4cm;\n
            left: 0;\n
            right: 0;\n
            height: 4cm;\n
        }\n
    \n
        .pdf-template__header > div {\n
            display: inline-block;\n
            vertical-align: middle;\n
        }\n
    \n
        .pdf-template__header > div:first-child {\n
            width: 35%;\n
        }\n
    \n
        .pdf-template__header > div:last-child {\n
            width: 64%;\n
            text-align: right;\n
            font-size: 0.8rem;\n
        }\n
    \n
        .pdf-template__header img {\n
            height: 100%;\n
            object-fit: contain;\n
        }\n
    \n
        .pdf-template__footer {\n
            position: fixed;\n
            left: -1cm;\n
            right: -1cm;\n
            bottom: -2.5cm;\n
            height: 2.5cm;\n
        }\n
    \n
        .pdf-template__footer img {\n
            max-height: 2.5cm;\n
            width: 100%;\n
            object-fit: contain;\n
        }\n
    \n
        .pdf-template__footer .page__number {\n
            position: absolute;\n
            z-index: 1;\n
            right: 0.5rem;\n
            bottom: 0.5rem;\n
            font-size: 0.7rem;\n
        }\n
    \n
        .pdf-template__footer .page__number:after {\n
            content: counter(page, decimal);\n
        }\n
    \n
        .pdf-template__body {\n
            margin-top: 3.5cm;\n
        }\n
    \n
        .block-header-first-page {\n
            position: absolute;\n
            top: -5cm;\n
            padding-top: 1cm;\n
            left: 0;\n
            right: 0;\n
            background: #fff;\n
        }\n
    \n
        .block-header-first-page:after {\n
            content: "";\n
            display: table;\n
            clear: both;\n
        }\n
    \n
        .block-logo-first-page img {\n
            height: 5cm;\n
            max-width: 8cm;\n
            object-fit: contain;\n
        }\n
    \n
        .block-header-first-page .block-logo-first-page,\n
        .block-header-first-page .block-sender {\n
            float: left;\n
            width: 50%;\n
        }\n
    \n
        .block-header-first-page .block-sender {\n
            margin-top: 3.5cm;\n
            font-weight: bold;\n
        }\n
    \n
        .block-header-first-page .block-sender p {\n
            line-height: 1.2;\n
        }\n
    \n
        .block-city-date {\n
            display: inline-block;\n
            margin-left: 50%;\n
            margin-bottom: 2rem;\n
        }\n
    \n
        .block-receiver {\n
            margin-bottom: 3rem;\n
        }\n
    \n
        .block-receiver p {\n
            line-height: 1.1;\n
        }\n
    \n
        .block-description p {\n
            line-height: 3;\n
        }\n
    \n
        .block-signature {\n
            margin-top: 2rem;\n
            margin-left: 60%;\n
            font-size: 0.85rem;\n
        }\n
    \n
        .block-table {\n
            margin-top: 3rem;\n
            margin-bottom: 3rem;\n
        }\n
    \n
        .block-table table {\n
            width: 100%;\n
            border-collapse: collapse;\n
            page-break-inside: avoid;\n
        }\n
    \n
        .table__price {\n
            text-align: right;\n
        }\n
    \n
        .block-table table th,\n
        .block-table table td {\n
            border: 1px solid #545454;\n
            padding: 0.25rem 0.4rem;\n
            page-break-inside: auto;\n
        }\n
    \n
        .block-table table th {\n
            font-weight: normal;\n
            white-space: nowrap;\n
        }\n
    \n
        .block-table table th:first-child {\n
            border-top: none;\n
            border-left: none;\n
        }\n
    \n
        .block-table table th:last-child {\n
            background: #ececec;\n
            color: #545454;\n
            width: 25%;\n
        }\n
    \n
        .block-table table td {\n
            text-align: right;\n
            font-size: 0.9rem;\n
        }\n
    \n
        .block-table table td:first-child {\n
            text-align: left;\n
        }\n
    \n
        .block-table-full {\n
            margin-top: 2rem;\n
            margin-bottom: 2rem;\n
        }\n
    \n
        .block-table-full table {\n
            page-break-inside: avoid;\n
            width: 100%;\n
            border-collapse: collapse;\n
        }\n
    \n
        .block-table-full table th,\n
        .block-table-full table td {\n
            border: 1px solid #545454;\n
            padding: 0.25rem 0.4rem;\n
        }\n
    \n
        .block-table-full table td {\n
            text-align: right;\n
        }\n
    \n
        .block-table-full table td:first-child {\n
            text-align: left;\n
        }\n
    \n
        .block-table-full table tfoot td:first-child {\n
            text-align: right;\n
            padding: unset;\n
        }\n
    \n
        .block-table-full table tfoot td:first-child > span {\n
            background: #d9d9d9;\n
            padding: 0.25rem 0.4rem;\n
        }\n
    \n
        .block-table-full table th {\n
            white-space: nowrap;\n
        }\n
    \n
        .block-table-full table tr:first-of-type th:last-child {\n
            background: #d9d9d9;\n
            color: #545454;\n
        }\n
    \n
        .raw-render {\n
            line-height: 1;\n
            text-align: justify;\n
        }\n
    \n
        .small {\n
            font-size: 0.85rem;\n
        }\n
    \n
        .linethrough {\n
            text-decoration: line-through;\n
        }\n
    \n
        .block-two-columns {\n
            margin-top: 3rem;\n
            margin-bottom: 3rem;\n
        }\n
    \n
        .block-two-columns > div {\n
            display: inline-block;\n
            vertical-align: top;\n
            word-break: break-all;\n
        }\n
    \n
        .block-two-columns > div:first-child {\n
            width: 38%;\n
        }\n
    \n
        .block-index-table table {\n
            width: 100%;\n
            border-collapse: collapse;\n
        }\n
    \n
        .block-index-table table th,\n
        .block-index-table table td {\n
            border: 1px solid #545454;\n
            padding: 0.25rem 0.4rem;\n
            text-align: center;\n
        }\n
    \n
        .block-index-table table th:last-child,\n
        .block-index-table table td:last-child {\n
            text-align: left;\n
        }\n
    \n
        .block-observations,\n
        .block-conditions {\n
            page-break-inside: auto;\n
        }\n
    \n
        .block-conditions {\n
            margin-top: 3rem;\n
        }\n
    \n
        .block-quote-signature {\n
            margin-top: 2rem;\n
            margin-left: 20%;\n
        }\n
    \n
        .block-agreement {\n
            page-break-inside: avoid;\n
            margin-top: 3rem;\n
            border: 2px solid #545454;\n
            padding: 0 1rem;\n
        }\n
    \n
        .block-agreement > div {\n
            margin-bottom: 7rem;\n
        }\n
    \n
        .block-agreement .block-two-columns > div:first-child {\n
            width: 45%;\n
        }\n
    \n
        .block-agreement > p:last-of-type {\n
            margin-bottom: 8rem;\n
        }\n
    \n
        .row-wrap:empty {\n
            display: none;\n
        }\n
    \n
        .row-wrap {\n
            min-height: 6rem;\n
            padding-top: 1.5rem;\n
            padding-bottom: 1rem;\n
            vertical-align: middle;\n
            font-weight: bold;\n
        }\n
    \n
        .row-wrap .item {\n
            display: inline-block;\n
            height: 6rem;\n
            line-height: 6rem;\n
            vertical-align: middle;\n
            width: auto;\n
            margin-right: 1.5rem;\n
            margin-bottom: 1.5rem;\n
        }\n
    \n
        .row-wrap .item:last-child {\n
            margin-right: 0;\n
        }\n
    </style>\n
    \n
    <header class="pdf-template__header">\n
        <div>\n
            <img src="{{ logoImg|default('') }}" alt="logo">\n
        </div>\n
        <div>\n
            <p><b>PROPOSITION D'HONORAIRES</b></p>\n
            <p>{{ quoteBuildingName|upper }}</p>\n
            <p><b>{{ quoteMissionType }}</b></p>\n
        </div>\n
    </header>\n
    \n
    <footer class="pdf-template__footer">\n
        <img src="{{ footerImg|default('') }}" alt="footer">\n
        <span class="page__number">Page </span>\n
    </footer>\n
    \n
    <div class="pdf-template__body">\n
        <div class="block-header-first-page">\n
            <div class="block-logo-first-page">\n
                <img src="{{ logoImg|default('') }}" alt="logo">\n
            </div>\n
            <div class="block-sender">\n
                <p>{{ quote.prospect.fullName|default('') }}</p>\n
                <p>À l'attention de {{ quote.contactIdRealName|default('') }}</p>\n
                {% if quote.prospect.contact.mainAddress.address is defined or quote.prospect.contact.mainAddress.city is defined or quote.prospect.contact.mainAddress.postalCode is defined %}\n
                    <p>{{ quote.prospect.contact.mainAddress.address|default('') }}</p>\n
                    <p>{{ quote.prospect.contact.mainAddress.postalCode|default('') }} {{ quote.prospect.contact.mainAddress.city|default('') }}</p>\n
                {% endif %}\n
            </div>\n
        </div>\n
        <div class="block-city-date">\n
            <p>{{ agencyCity|length > 0 ? agencyCity ~ ', le' : 'Le' }} {{ 'now'|date('d/m/Y') }}</p>\n
        </div>\n
        <div class="block-receiver">\n
            <p>{{ quoteBuildingName|upper }}</p>\n
            <p>{{ quoteAddress }}</p>\n
            <p>{{ quotePostalCode }} {{ quoteCity }}</p>\n
            <p><b>{{ quoteMissionType }}</b></p>\n
        </div>\n
        <div class="block-description">\n
            {% set civility = 'Madame, Monsieur' %}\n
            {% if contactConcerned is defined %}\n
                {% set civility = contactConcerned.civility.value|default('Madame, Monsieur') %}\n
            {% endif %}\n
            <p>{{ civility }},</p>\n
            <br>\n
            <p>Pour faire suite à votre demande, nous avons le plaisir de vous adresser notre proposition d'honoraires.</p>\n
            <p>Nous restons à votre disposition pour vous apporter toutes précisions utiles.</p>\n
            <p>Nous vous prions d'agréer, {{ civility }}, nos respectueuses salutations.</p>\n
        </div>\n
        <div class="block-signature break-after">\n
            <div>\n
                <p><b>{{ managedBy.fullname|default('') }}</b></p>\n
                <p><em>{{ managedBy.job|default('') }}</em></p>\n
            </div>\n
        </div>\n
    \n
        {# ---- PAGE BREAK ---- #}\n
    \n
        {% set coContractors = [] %}\n
        {% for sectionName, quoteLines in quoteLinesBySection|default([]) %}\n
            {% for quoteLine in quoteLines|default([]) %}\n
                {% if quoteLine.quoteLineInfo.product.categories|length > 0 %}\n
                    {% set isObservationProduct = false %}\n
                    {% for category in quoteLine.quoteLineInfo.product.categories %}\n
                        {% if category.id == "eb31972e5c9a4702877fb7014a26fa6d" %}\n
                            {% set isObservationProduct = true %}\n
                        {% endif %}\n
                    {% endfor %}\n
                    {% if isObservationProduct and quoteLine.description|default('')|length > 0 %}\n
                        <div class="block-observations">\n
                            <div class="raw-render small">\n
                                {{ quoteLine.description|raw }}\n
                            </div>\n
                        </div>\n
                    {% endif %}\n
                {% endif %}\n
            {% endfor %}\n
    \n
            {% set sectionName = sectionName|split('|') %}\n
            {% if sectionName[1] is defined %}\n
                {% set sectionName = sectionName[1] %}\n
            {% else %}\n
                {% set sectionName = sectionName[0] %}\n
            {% endif %}\n
    \n
            {% if sectionName|lower != 'default' %}\n
                {# si la première lettre de sectionName est un a, e, i, o, u, y, h, on met l'apostrophe #}\n
                {% set elision = sectionName|slice(0, 1)|lower in ['a', 'e', 'i', 'o', 'u', 'y', 'h'] ? "D'" : "DE " %}\n
                <h2>PHASE {{ elision ~ sectionName|upper }} de votre projet</h2>\n
            {% endif %}\n
    \n
            {% for quoteLine in quoteLines|default([]) %}\n
                {% set isOptionalProduct = false %}\n
                {% set isQuotePart = false %}\n
                {% if quoteLine.isOptional and quoteLine.quoteLineInfo.product is defined %}\n
                    {% set isOptionalProduct = true %}\n
                    {% for specificField in quoteLine.quoteLineInfo.product.specificFields %}\n
                        {% if specificField.fieldId == "7100aa47620a4eb29180c4611e71616d" and specificField.value == "1" %}\n
                            {% set isOptionalProduct = false %}\n
                            {% set isQuotePart = true %}\n
                        {% endif %}\n
                    {% endfor %}\n
                {% endif %}\n
    \n
                {% set isObservationProduct = false %}\n
                {% if quoteLine.quoteLineInfo.product.categories is defined and quoteLine.quoteLineInfo.product.categories|default([])|length > 0 %}\n
                    {% for category in quoteLine.quoteLineInfo.product.categories %}\n
                        {% if category.id == "eb31972e5c9a4702877fb7014a26fa6d" %}\n
                            {% set isObservationProduct = true %}\n
                        {% endif %}\n
                    {% endfor %}\n
                {% endif %}\n
    \n
                {% if not isOptionalProduct and not isObservationProduct %}\n
                    {% set splittedName = quoteLine.name|default('')|split('% ') %}\n
                    {% if quoteLine.quoteLineInfo.quoteLineInfoProductAttributes is defined %}\n
                        {% set currentCoContractor = null %}\n
                        {% set currentCoContractorIndex = 0 %}\n
                        {% for productAttribute in quoteLine.quoteLineInfo.quoteLineInfoProductAttributes %}\n
                            {% if productAttribute.productAttributeLabel|split('|')[0] == 'Nombre de jours' and productAttribute.value > 0 and productAttribute.productAttribute.groupCode not in coContractors %}\n
                                {% set coContractors = coContractors|merge([productAttribute.productAttribute.groupCode]) %}\n
                            {% endif %}\n
                            {% if productAttribute.productAttributeLabel|split('|')[0] == 'Nom entreprise' and productAttribute.value is not null and productAttribute.value not in coContractors %}\n
                                {% set currentCoContractor = productAttribute.value %}\n
                                {% set currentCoContractorIndex = productAttribute.productAttributeLabel|split('|')[1] %}\n
                            {% endif %}\n
                            {% if productAttribute.productAttributeLabel|split('|')[0] == 'Co-traitant' and productAttribute.value == 'true' and currentCoContractorIndex == productAttribute.productAttributeLabel|split('|')[1] %}\n
                                {% set coContractors = coContractors|merge([currentCoContractor]) %}\n
                            {% endif %}\n
                        {% endfor %}\n
                    {% endif %}\n
    \n
                    <div class="block-table">\n
                        <table>\n
                            <thead>\n
                            <tr>\n
                                <th></th>\n
                                <th>Montant HT</th>\n
                            </tr>\n
                            </thead>\n
                            <tbody>\n
                            <tr>\n
                                <td>\n
                                    <p><b>{{ quoteLine.comment|default('')|raw|nl2br }}</b></p>\n
                                </td>\n
                                <td>\n
                                    <div class="table__price">\n
                                        {% if isQuotePart and splittedName|length > 1 %}\n
                                            {{ splittedName[0] }}&percnt; du montant HT des travaux\n
                                        {% else %}\n
                                            {% if quoteLine.discountAmount > 0 %}\n
                                                <p class="small linethrough">\n
                                                    {{ quoteLine.totalExclDiscountAndVat|default(0)|number_format(2, ',', ' ') }} &euro;\n
                                                </p>\n
                                            {% endif %}\n
                                            {{ quoteLine.totalExclVat|default(0)|number_format(2, ',', ' ') }} &euro;\n
                                        {% endif %}\n
                                    </div>\n
                                </td>\n
                            </tr>\n
                            </tbody>\n
                        </table>\n
                        <div class="raw-render small">\n
                            {{ quoteLine.description|default('')|raw }}\n
                        </div>\n
                    </div>\n
                {% endif %}\n
            {% endfor %}\n
    \n
            {% set hasOptionalProduct = false %}\n
            {% for quoteLine in quoteLines|default([]) %}\n
                {% set rowIsPercentage = false %}\n
                {% for specificField in quoteLine.quoteLineInfo.product.specificFields|default({}) %}\n
                    {% if specificField.fieldId == "7100aa47620a4eb29180c4611e71616d" and specificField.value == "1" %} {# Article de surcôte (attributs en %) #}\n
                        {% set rowIsPercentage = true %}\n
                    {% endif %}\n
                {% endfor %}\n
    \n
                {% if not rowIsPercentage and quoteLine.isOptional and quoteLine.quoteLineInfo.product is defined %}\n
                    {% set hasOptionalProduct = true %}\n
                {% endif %}\n
            {% endfor %}\n
    \n
            <div class="block-table-full {{ hasOptionalProduct ? '' : 'break-after' }}">\n
                <table>\n
                    <thead>\n
                    <tr>\n
                        <th colspan="5">\n
                            {{ sectionName|lower != 'default' ? sectionName ~ ' -' : '' }} Total des honoraires - Options\n
                            non comprises\n
                        </th>\n
                    </tr>\n
                    <tr>\n
                        <th>Mission</th>\n
                        <th>MONTANT HT</th>\n
                        <th>Montant TVA</th>\n
                        <th>Taux TVA</th>\n
                        <th>MONTANT TTC</th>\n
                    </tr>\n
                    </thead>\n
                    <tbody>\n
                    {% set totalExclVat = 0 %}\n
                    {% set totalVat = 0 %}\n
                    {% for quoteLine in quoteLines|default([]) %}\n
                        {% set isOptionalProduct = false %}\n
                        {% set isQuotePart = false %}\n
                        {% if quoteLine.isOptional and quoteLine.quoteLineInfo.product is defined %}\n
                            {% set isOptionalProduct = true %}\n
                            {% for specificField in quoteLine.quoteLineInfo.product.specificFields %}\n
                                {% if specificField.fieldId == "7100aa47620a4eb29180c4611e71616d" and specificField.value == "1" %}\n
                                    {% set isOptionalProduct = false %}\n
                                    {% set isQuotePart = true %}\n
                                {% endif %}\n
                            {% endfor %}\n
                        {% endif %}\n
    \n
                        {% set isObservationProduct = false %}\n
                        {% if quoteLine.quoteLineInfo.product.categories is defined and quoteLine.quoteLineInfo.product.categories|default([])|length > 0 %}\n
                            {% for category in quoteLine.quoteLineInfo.product.categories %}\n
                                {% if category.id == "eb31972e5c9a4702877fb7014a26fa6d" %}\n
                                    {% set isObservationProduct = true %}\n
                                {% endif %}\n
                            {% endfor %}\n
                        {% endif %}\n
                        {% if not isOptionalProduct and not isObservationProduct %}\n
                            {% set totalExclVat = totalExclVat + quoteLine.totalExclVat|default(0) %}\n
                            {% set totalVat = isQuotePart ? totalVat : totalVat + quoteLine.total|default(0) %}\n
                            {% set splittedName = quoteLine.name|default('')|split('% ') %}\n
                            <tr>\n
                                <td>\n
                                    {{ quoteLine.comment|default('')|raw|nl2br }}\n
                                </td>\n
                                <td>\n
                                    {% if isQuotePart and splittedName|length > 1 %}\n
                                        {{ splittedName[0] }}&percnt; du montant HT des travaux\n
                                    {% else %}\n
                                        {{ quoteLine.totalExclVat|default(0)|number_format(2, ',', ' ') }} &euro;\n
                                    {% endif %}\n
                                </td>\n
                                <td>\n
                                    {% if not isQuotePart %}\n
                                        {{ quoteLine.vatAmount|default(0)|number_format(2, ',', ' ') }} &euro;\n
                                    {% endif %}\n
                                </td>\n
                                <td>\n
                                    {% if not isQuotePart %}\n
                                        {{ quoteLine.vatRate|default('') }}\n
                                    {% endif %}\n
                                </td>\n
                                <td>\n
                                    {% if not isQuotePart %}\n
                                        {{ quoteLine.total|default(0)|number_format(2, ',', ' ') }} &euro;\n
                                    {% endif %}\n
                                </td>\n
                            </tr>\n
                        {% endif %}\n
                    {% endfor %}\n
                    </tbody>\n
                    {% if totalVat > 0 %}\n
                        <tfoot>\n
                        <tr>\n
                            <td colspan="4">\n
                                <span>TOTAL</span>\n
                            </td>\n
                            <td>{{ totalVat|number_format(2, ',', ' ') }} &euro;</td>\n
                        </tr>\n
                        </tfoot>\n
                    {% endif %}\n
                </table>\n
            </div>\n
    \n
            {% if hasOptionalProduct %}\n
                <h3 class="break-before">OPTIONS de votre projet</h3>\n
                {% for quoteLine in quoteLines|default([]) %}\n
                    {% set isOptionalProduct = false %}\n
                    {% set isQuotePart = false %}\n
                    {% if quoteLine.isOptional and quoteLine.quoteLineInfo.product is defined %}\n
                        {% set isOptionalProduct = true %}\n
                        {% for specificField in quoteLine.quoteLineInfo.product.specificFields %}\n
                            {% if specificField.fieldId == "7100aa47620a4eb29180c4611e71616d" and specificField.value == "1" %}\n
                                {% set isOptionalProduct = false %}\n
                                {% set isQuotePart = true %}\n
                            {% endif %}\n
                        {% endfor %}\n
                    {% endif %}\n
    \n
                    {% set isObservationProduct = false %}\n
                    {% if quoteLine.quoteLineInfo.product.categories is defined and quoteLine.quoteLineInfo.product.categories|default([])|length > 0 %}\n
                        {% for category in quoteLine.quoteLineInfo.product.categories %}\n
                            {% if category.id == "eb31972e5c9a4702877fb7014a26fa6d" %}\n
                                {% set isObservationProduct = true %}\n
                            {% endif %}\n
                        {% endfor %}\n
                    {% endif %}\n
    \n
                    {% if isOptionalProduct and not isObservationProduct %}\n
                        {% set splittedName = quoteLine.name|default('')|split('% ') %}\n
                        {% if quoteLine.quoteLineInfo.quoteLineInfoProductAttributes is defined %}\n
                            {% set currentCoContractor = null %}\n
                            {% set currentCoContractorIndex = 0 %}\n
                            {% for productAttribute in quoteLine.quoteLineInfo.quoteLineInfoProductAttributes %}\n
                                {% if productAttribute.productAttributeLabel|split('|')[0] == 'Nombre de jours' and productAttribute.value > 0 and productAttribute.productAttribute.groupCode not in coContractors %}\n
                                    {% set coContractors = coContractors|merge([productAttribute.productAttribute.groupCode]) %}\n
                                {% endif %}\n
                                {% if productAttribute.productAttributeLabel|split('|')[0] == 'Nom entreprise' and productAttribute.value is not null and productAttribute.value not in coContractors %}\n
                                    {% set currentCoContractor = productAttribute.value %}\n
                                    {% set currentCoContractorIndex = productAttribute.productAttributeLabel|split('|')[1] %}\n
                                {% endif %}\n
                                {% if productAttribute.productAttributeLabel|split('|')[0] == 'Co-traitant' and productAttribute.value == 'true' and currentCoContractorIndex == productAttribute.productAttributeLabel|split('|')[1] %}\n
                                    {% set coContractors = coContractors|merge([currentCoContractor]) %}\n
                                {% endif %}\n
                            {% endfor %}\n
                        {% endif %}\n
    \n
                        <div class="block-table">\n
                            <table>\n
                                <thead>\n
                                <tr>\n
                                    <th></th>\n
                                    <th>Montant HT</th>\n
                                </tr>\n
                                </thead>\n
                                <tbody>\n
                                <tr>\n
                                    <td>\n
                                        <p><b>{{ quoteLine.comment|default('')|raw|nl2br }}</b></p>\n
                                    </td>\n
                                    <td>\n
                                        <div class="table__price">\n
                                            {% if isQuotePart and splittedName|length > 1 %}\n
                                                {{ splittedName[0] }}&percnt; du montant HT des travaux\n
                                            {% else %}\n
                                                {% if quoteLine.discountAmount > 0 %}\n
                                                    <p class="small linethrough">\n
                                                        {{ quoteLine.totalExclDiscountAndVat|default(0)|number_format(2, ',', ' ') }} &euro;\n
                                                    </p>\n
                                                {% endif %}\n
                                                {{ quoteLine.totalExclVat|default(0)|number_format(2, ',', ' ') }} &euro;\n
                                            {% endif %}\n
                                        </div>\n
                                    </td>\n
                                </tr>\n
                                </tbody>\n
                            </table>\n
                            <div class="raw-render small">\n
                                {{ quoteLine.description|default('')|raw }}\n
                            </div>\n
                        </div>\n
                    {% endif %}\n
                {% endfor %}\n
    \n
                <div class="block-table-full break-after">\n
                    <table>\n
                        <thead>\n
                        <tr>\n
                            <th colspan="5">\n
                                {{ sectionName|lower != 'default' ? sectionName ~ ' -' : '' }} Total des options\n
                            </th>\n
                        </tr>\n
                        <tr>\n
                            <th>Mission</th>\n
                            <th>MONTANT HT</th>\n
                            <th>Montant TVA</th>\n
                            <th>Taux TVA</th>\n
                            <th>MONTANT TTC</th>\n
                        </tr>\n
                        </thead>\n
                        <tbody>\n
                        {% set totalExclVat = 0 %}\n
                        {% set totalVat = 0 %}\n
                        {% for quoteLine in quoteLines|default([]) %}\n
                            {% set isOptionalProduct = false %}\n
                            {% if quoteLine.isOptional and quoteLine.quoteLineInfo.product is defined %}\n
                                {% set isOptionalProduct = true %}\n
                                {% for specificField in quoteLine.quoteLineInfo.product.specificFields %}\n
                                    {% if specificField.fieldId == "7100aa47620a4eb29180c4611e71616d" and specificField.value == "1" %}\n
                                        {% set isOptionalProduct = false %}\n
                                    {% endif %}\n
                                {% endfor %}\n
                            {% endif %}\n
    \n
                            {% set isObservationProduct = false %}\n
                            {% if quoteLine.quoteLineInfo.product.categories is defined and quoteLine.quoteLineInfo.product.categories|default([])|length > 0 %}\n
                                {% for category in quoteLine.quoteLineInfo.product.categories %}\n
                                    {% if category.id == "eb31972e5c9a4702877fb7014a26fa6d" %}\n
                                        {% set isObservationProduct = true %}\n
                                    {% endif %}\n
                                {% endfor %}\n
                            {% endif %}\n
                            {% if isOptionalProduct and not isObservationProduct %}\n
                                {% set totalExclVat = totalExclVat + quoteLine.totalExclVat|default(0) %}\n
                                {% set totalVat = totalVat + quoteLine.total|default(0) %}\n
                                <tr>\n
                                    <td>{{ quoteLine.comment|default('')|raw|nl2br }}</td>\n
                                    <td>{{ quoteLine.totalExclVat|default(0)|number_format(2, ',', ' ') }} &euro;</td>\n
                                    <td>\n
                                        {{ quoteLine.vatAmount|default(0)|number_format(2, ',', ' ') }} &euro;\n
                                    </td>\n
                                    <td>{{ quoteLine.vatRate|default('') }}</td>\n
                                    <td>{{ quoteLine.total|default(0)|number_format(2, ',', ' ') }} &euro;</td>\n
                                </tr>\n
                            {% endif %}\n
                        {% endfor %}\n
                        </tbody>\n
                        {% if totalVat > 0 %}\n
                            <tfoot>\n
                            <tr>\n
                                <td colspan="4">\n
                                    <span>TOTAL</span>\n
                                </td>\n
                                <td>{{ totalVat|number_format(2, ',', ' ') }} &euro;</td>\n
                            </tr>\n
                            </tfoot>\n
                        {% endif %}\n
                    </table>\n
                </div>\n
            {% endif %}\n
        {% endfor %}\n
    \n
        {# ---- PAGE BREAK ---- #}\n
    \n
        <div class="block-quote-signature">\n
            <p>{{ agencyCity|length > 0 ? agencyCity ~ ', le' : 'Le' }} {{ 'now'|date('d/m/Y') }}</p>\n
        </div>\n
        <div class="block-agreement break-after">\n
            <div class="block-two-columns">\n
                <div>\n
                    <p><b>BON POUR ACCORD le ........../........../..........</b></p>\n
                </div>\n
                <div>\n
                    <p>\n
                        <em>Le Maître d'Ouvrage ou son Représentant</em>\n
                        <br>\n
                        <em>Signature et cachet :</em>\n
                    </p>\n
                </div>\n
            </div>\n
            <p>Décision quant à l'option chiffrée : VALIDÉE / NON VALIDÉE</p>\n
            <p>Observations éventuelles :</p>\n
        </div>\n
    \n
        {# ---- PAGE BREAK ---- #}\n
    \n
        <div class="block-conditions">\n
            <p class="underline"><b>CONDITIONS :</b></p>\n
            <br>\n
            {% if coContractors|length > 0 %}\n
                <p><b class="underline small">Membres du groupement concernés par cette mission :</b></p>\n
                <br>\n
                <div class="row-wrap">{% for coContractor in coContractors %} {# Ne pas mettre for à la ligne pour éviter les espaces interne et que :empty fonctionne #}\n
                        {% set imgCoContractor = gedImageByPath('CHARTE GRAPHIQUE/CO-TRAITANTS/' ~ coContractor ~ '.png')|default('') %}\n
                        {% if imgCoContractor|length > 0 %}\n
                            <img class="item" height="6rem" width="auto" src="{{ imgCoContractor }}"\n
                                 alt="logo {{ coContractor }}">\n
                        {% else %}\n
                            <p class="item">{{ coContractor }}</p>\n
                        {% endif %}\n
                    {% endfor %}</div>\n
            {% endif %}\n
            <br>\n
            <div class="raw-render small">\n
                {{ quote.terms|default('')|raw }}\n
            </div>\n
        </div>\n
    </div>\n
    </body>\n
    </html>
    """
  #message: "An exception has been thrown during the rendering of a template ("HTTP/1.1 500 Internal Server Error returned for "http://dev.pol-api-ged.pol-crm.com/api/customer_resource/download/8181224a818c4943a537b3d883d6746e".") in "quote_pdf (string template bdbd82de5dd1d12da3fd1b29d6c5cb5e0417e847d1e165bc7afd226de96c353f)" at line 53."
  #code: 0
  #file: "/var/www/vhosts/app.pol-crm.com/httpdocs/app-pol-crm/dev/releases/20251009101152/application/vendor/twig/twig/src/Template.php"
  #line: 419
  -previous: Symfony\Component\HttpClient\Exception\ServerException {#7673 …}
  trace: {
    /var/www/vhosts/app.pol-crm.com/httpdocs/app-pol-crm/dev/releases/20251009101152/application/vendor/twig/twig/src/Template.php:419 {
      Twig\Template->displayWithErrorHandling(array $context, array $blocks = []) …
      › } catch (\Exception $e) {    $e = new RuntimeError(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $this->getSourceContext(), $e);    $e->guess();
    }
    /var/www/vhosts/app.pol-crm.com/httpdocs/app-pol-crm/dev/releases/20251009101152/application/vendor/twig/twig/src/Template.php:378 {
      Twig\Template->display(array $context, array $blocks = []) …
      › {    $this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));}
      arguments: {
        $context: [ …13]
        $blocks: []
      }
    }
    /var/www/vhosts/app.pol-crm.com/httpdocs/app-pol-crm/dev/releases/20251009101152/application/vendor/twig/twig/src/Template.php:390 {
      Twig\Template->render(array $context) …
      › try {    $this->display($context);} catch (\Throwable $e) {
      arguments: {
        $context: [ …12]
      }
    }
    /var/www/vhosts/app.pol-crm.com/httpdocs/app-pol-crm/dev/releases/20251009101152/application/vendor/twig/twig/src/TemplateWrapper.php:45 {
      Twig\TemplateWrapper->render(array $context = []): string …
      ›     // as it should only be used by internal code    return $this->template->render($context, \func_get_args()[1] ?? []);}
      arguments: {
        $context: [ …12]
        ...: {
          []
        }
      }
    }
    /var/www/vhosts/app.pol-crm.com/httpdocs/app-pol-crm/dev/releases/20251009101152/application/src/V4/Service/Pdf/PdfGenerator.php:202 {
      App\V4\Service\Pdf\PdfGenerator->generatePdfContentByTemplate(Quote $quote, string $templateId = null, array $data = []): string …
      › 
      ›     return base64_encode($generatedTwig->render(array_merge($quoteVars, $data)));}
      arguments: {
        $context: [ …12]
      }
    }
    /var/www/vhosts/app.pol-crm.com/httpdocs/app-pol-crm/dev/releases/20251009101152/application/src/Controller/Quote/QuoteController.php:138 {
      App\Controller\Quote\QuoteController->generateQuotePdf(Request $request, string $id): JsonResponse …
      › }$base64File = $this->pdfGenerator->generatePdfContentByTemplate($quote, $quoteData['templateId'], $quoteData);$response = $this->pdfGenerator->generatePdfWithTemplateForQuote($quote, $base64File, $quoteData[PdfGenerator::OPTION_MODE], $quoteData['templateId']);
      arguments: {
        $quote: App\V4\Model\Quote\Quote {#1845 …}
        $templateId: "0246345ae9e34e0e9bc2bfb20a6e7376"
        $data: [ …7]
      }
    }
    /var/www/vhosts/app.pol-crm.com/httpdocs/app-pol-crm/dev/releases/20251009101152/application/vendor/symfony/http-kernel/HttpKernel.php:169 {
      Symfony\Component\HttpKernel\HttpKernel->handleRaw(Request $request, int $type = self::MASTER_REQUEST): Response …
      › // call controller$response = $controller(...$arguments);arguments: {
        $request: Symfony\Component\HttpFoundation\Request {#55 …}
        $id: "753d0f24880b40db9a45aa5fe5f480d0"
      }
    }
    /var/www/vhosts/app.pol-crm.com/httpdocs/app-pol-crm/dev/releases/20251009101152/application/vendor/symfony/http-kernel/HttpKernel.php:81 {
      Symfony\Component\HttpKernel\HttpKernel->handle(Request $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = true) …
      › try {    return $this->handleRaw($request, $type);} catch (\Exception $e) {
      arguments: {
        $request: Symfony\Component\HttpFoundation\Request {#55 …}
        $type: 1
      }
    }
    /var/www/vhosts/app.pol-crm.com/httpdocs/app-pol-crm/dev/releases/20251009101152/application/vendor/symfony/http-kernel/Kernel.php:201 {
      Symfony\Component\HttpKernel\Kernel->handle(Request $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = true) …
      › try {    return $this->getHttpKernel()->handle($request, $type, $catch);} finally {
      arguments: {
        $request: Symfony\Component\HttpFoundation\Request {#55 …}
        $type: 1
        $catch: true
      }
    }
    /var/www/vhosts/app.pol-crm.com/httpdocs/app-pol-crm/dev/releases/20251009101152/application/public/index.php:25 {$request = Request::createFromGlobals();$response = $kernel->handle($request);$response->send();
      arguments: {
        $request: Symfony\Component\HttpFoundation\Request {#55 …}
      }
    }
  }
}
logger
Symfony\Bridge\Monolog\Logger {#1519
  #name: "request"
  #handlers: [
    Monolog\Handler\RotatingFileHandler {#1505
      #filename: "/var/www/vhosts/app.pol-crm.com/httpdocs/app-pol-crm/dev/shared/application/var/log/dev.log"
      #maxFiles: 14
      #mustRotate: false
      #nextRotation: DateTime @1760652000 {#1506
        date: 2025-10-17 00:00:00.0 Europe/Paris (+02:00)
      }
      #filenameFormat: "{filename}-{date}"
      #dateFormat: "Y-m-d"
      #stream: stream resource @2436
        timed_out: false
        blocked: true
        eof: false
        wrapper_type: "plainfile"
        stream_type: "STDIO"
        mode: "a"
        unread_bytes: 0
        seekable: true
        uri: "/var/www/vhosts/app.pol-crm.com/httpdocs/app-pol-crm/dev/shared/application/var/log/dev-2025-10-16.log"
        options: []
      }
      #url: "/var/www/vhosts/app.pol-crm.com/httpdocs/app-pol-crm/dev/shared/application/var/log/dev-2025-10-16.log"
      -errorMessage: null
      #filePermission: null
      #useLocking: false
      -dirCreated: true
      #level: 100
      #bubble: true
      #formatter: Monolog\Formatter\LineFormatter {#388 …}
      #processors: [
        Monolog\Processor\PsrLogMessageProcessor {#1690}
      ]
    }
    Symfony\Bridge\Monolog\Handler\ConsoleHandler {#1518
      -output: null
      -verbosityLevelMap: [
        16 => 400
        32 => 300
        64 => 250
        128 => 200
        256 => 100
      ]
      -consoleFormaterOptions: []
      #level: 100
      #bubble: true
      #formatter: null
      #processors: []
    }
    Monolog\Handler\FingersCrossedHandler {#1696
      #handler: Monolog\Handler\BufferHandler {#1687 …}
      #activationStrategy: Monolog\Handler\FingersCrossed\ErrorLevelActivationStrategy {#1650 …}
      #buffering: false
      #bufferSize: 0
      #buffer: []
      #stopBuffering: true
      #passthruLevel: null
      #level: 100
      #bubble: true
      #formatter: null
      #processors: []
    }
  ]
  #processors: [
    App\Service\Monolog\ELKProcessor {#1701
      -applicationName: "pol-middleware"
      -applicationEnvironment: "dev"
    }
    Symfony\Bridge\Monolog\Processor\DebugProcessor {#1689
      -records: [
        "00000000779c5b54000000000f100361" => [
          [
            "timestamp" => 1760623467
            "message" => "Matched route "{route}"."
            "priority" => 200
            "priorityName" => "INFO"
            "context" => [
              "route" => "quote_generate_pdf"
              "route_parameters" => [
                "_route" => "quote_generate_pdf"
                "_controller" => "App\Controller\Quote\QuoteController::generateQuotePdf"
                "id" => "753d0f24880b40db9a45aa5fe5f480d0"
              ]
              "request_uri" => "https://dev.app.pol-crm.com/api/quote/753d0f24880b40db9a45aa5fe5f480d0/generatepdf"
              "method" => "POST"
            ]
            "channel" => "request"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Checking for guard authentication credentials."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "firewall_key" => "api"
              "authenticators" => 1
            ]
            "channel" => "security"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Checking support on guard authenticator."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "firewall_key" => "api"
              "authenticator" => "App\Security\JWTTokenWhitelistAuthenticator"
            ]
            "channel" => "security"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Calling getCredentials() on guard authenticator."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "firewall_key" => "api"
              "authenticator" => "App\Security\JWTTokenWhitelistAuthenticator"
            ]
            "channel" => "security"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Passing guard token information to the GuardAuthenticationProvider"
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "firewall_key" => "api"
              "authenticator" => "App\Security\JWTTokenWhitelistAuthenticator"
            ]
            "channel" => "security"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "lexik_jwt_authentication.on_jwt_authenticated"
              "listener" => "App\V4\EventSubscriber\PreventMultipleLoginsEventSubscriber::onJWTAuthenticated"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Guard authentication successful!"
            "priority" => 200
            "priorityName" => "INFO"
            "context" => [
              "token" => Lexik\Bundle\JWTAuthenticationBundle\Security\Authentication\Token\JWTUserToken {#494
                #rawToken: "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE3NjA2MjM0MDIsImV4cCI6MTc2MDYyNzAwMiwicm9sZXMiOlsiUk9MRV9VU0VSIiwiUk9MRV9TVVBFUkFETUlOIiwiUk9MRV9BRE1JTiIsIlJPTEVfTU9EVUxFX01JQ1JPU09GVF9HUkFQSCIsIlJPTEVfTU9EVUxFX1BST0RVQ1QiLCJST0xFX01PRFVMRV9QUk9EVUNUX0NVU1RPTUlaRSIsIlJPTEVfTU9EVUxFX1FVT1RFX0xJTkUiLCJQUk9TUEVDVF9TSE9XIiwiUFJPU1BFQ1RfQ1VEIiwiQ09OVEFDVF9DVUQiLCJDT05UQUNUX1NIT1ciLCJUQVNLX1NIT1ciLCJUQVNLX0NVRCIsIlFVT1RFX1NIT1ciLCJRVU9URV9DVUQiLCJRVU9URV9SRUdFTkVSQVRFX1BSSUNFUyJdLCJsb2dpbiI6ImRlbW9wbGVuZXR1ZGUiLCJ1c2VyX2lkIjoiMWFlYjFiMDg5ZDE0NDM1NzhmM2QyZWNhMWY2YWJlYWYiLCJ1c2VyX2V4dGVybmFsX2lkIjoiMTY1MTc1NjUwMCIsImVtYWlsIjoiZ2VzdGlvbkFPc2FsbGFuY2hlc0Bncm91cGUtcGxlbmV0dWRlLmZyIiwiY3VzdG9tZXJfaWQiOiJlODkxOWRiYzAxZjM0Zjc5YWIyMmI5YzQzNGYxMTRlYiIsImN1c3RvbWVyX25hbWUiOiJHcm91cGUgUGzDqW7DqXR1ZGUiLCJjdXN0b21lcl9leHRlcm5hbF9pZCI6IjE2NDQ1OTM0OTciLCJjdXN0b21lcl9tYWlsaW5nX2lkIjoiMjU0IiwiZmlyc3RuYW1lIjoiR3VpbGxhdW1lIiwibGFzdG5hbWUiOiJTQVVUUk9OIiwibGl2ZW9Mb2dpbiI6bnVsbCwibGl2ZW9QYXNzd29yZCI6bnVsbCwiaGFzSW50cmFuZXQiOmZhbHNlLCJsYW5ndWFnZSI6IkZSIiwic2VjdGlvbnNfbGVhZGVkIjpbIkFHQiIsIkFHQiAtIFBMRU5FVFVERSIsIkFHQiAtIFBST0xZU0UiLCJBR0IgLSBQRVhJTiIsIkFHQiAtIFBFR0lNRSIsIkFHQiAtIFBSSU9TVVIiLCJEaXJlY3Rpb24gR8OpbsOpcmFsZSIsIkFHRyIsIkFHRyAtIFBST0xZU0UiLCJBR0cgLSBQRUdJTUUiLCJBR0cgLSBQTEVORVRVREUiLCJBR0cgLSBQTEVORVRVREUgLSBDb2xsYWJvcmF0ZXVyIiwiQUdHIC0gUFJJT1NVUiIsIkFHRyAtIFBFWElOIiwiQUdHIC0gUEVYSU4gLSBDb2xsYWJvcmF0ZXVyIiwiQUdDIiwiQUdDIC0gUFJJT1NVUiIsIkFHQyAtIFBST0xZU0UiLCJBR0MgLSBQRUdJTUUiLCJBR0MgLSBQTEVORVRVREUiLCJBR0MgLSBQRVhJTiIsIkFHQyAtIFBFWElOIC0gQ29sbGFib3JhdGV1ciIsIkFHViIsIkFHViAtIFBSSU9TVVIiLCJBR1YgLSBQRUdJTUUiLCJBR1YgLSBQUk9MWVNFIiwiQUdWIC0gUExFTkVUVURFIiwiQUdBIiwiQUdBIC0gUFJPTFlTRSIsIkFHQSAtIFBFWElOIiwiQUdBIC0gUEVHSU1FIiwiQUdBIC0gUFJJT1NVUiIsIkFHQSAtIFBMRU5FVFVERSIsIlJWSSIsIlJWSSAtIENWQyAvIFBMQiIsIlJWSSAtIEVudmlyb25uZW1lbnRhbCIsIlJWSSAtIENGTyAvIENGQSIsIkFHUyIsIkFHUyAtIFBFR0lNRSIsIkFHUyAtIFBMRU5FVFVERSIsIkFHUyAtIFBFWElOIiwiQUdTIC0gUFJPTFlTRSIsIkFHUyAtIFBSSU9TVVIiLCJBR0wiLCJBR0wgLSBQUk9MWVNFIiwiQUdMIC0gUFJJT1NVUiIsIkFHTCAtIFBMRU5FVFVERSIsIkFHTCAtIFBFWElOIiwiQUdMIC0gUEVYSU4gLSBDb2xsYWJvcmF0ZXVyIiwiQUdMIC0gUExFTkVUVURFIC0gMiIsIkFHTCAtIFBFR0lNRSJdLCJzZWN0aW9uc19tZW1iZXJzIjpbIjFhZWIxYjA4OWQxNDQzNTc4ZjNkMmVjYTFmNmFiZWFmIiwiMDY1OWU4Mjk0NDE2NDBhYmI0ZTc2ZTc0MWNmMDQzMTEiLCIwODU1YjIxMDdlODg0ZDU3YTUxNTcwY2QyYTk4YmZhMyIsIjBkMGQ4OTEyOWI4ZjRmODI4NTczN2QzZTJjYzRhMmEwIiwiNDczZDBjOWNjMjQ1NGEwOGJmYjYzZjgyZmNhY2I2NzYiLCI5ZmVkZmUxZWRiYjE0OTIzYWVmM2M2ZjZlZDhjZjJmZCIsImNlMTJhMjI1OTA1ZTQzZTNiZTUwMzk0ODRiNzFlNGViIiwiM2MzZmQ1NWFjYTQyNGUzYzhkYTUwYzdjOTQ2YmE4OWUiLCIyNTIyZGJlMzNjOTA0OTU0ODIxOTVhNjQwZjRiYTk0NiIsIjYyZWRhYjk5OTdkNTQyYTFhODgwNzdlMjFmZjU0NDIzIiwiYTUzY2Q3YWI0OGU0NGNhZmE0YmRjMzc2MDc1NWFiMTUiLCIwNjhkNTI1Y2ZmMjQ0NDlkODE4MjI3ZWFlNDRmZmRhYyIsIjQzZjFhNTM0N2Q2ZjRkODM5MDdkM2QzZDQ2Y2QyY2E0IiwiNTJlYzllNGQ4OTc2NGY5MjgyNDI1ZmU0NmFhN2MzOGYiLCJiZGU5Njk2NDJhNjQ0YjY1ODZmN2NiZGY2YjJmNDg4NiIsImM1OTliNWIwNzFhODQ2NjE4NzhjNGIzODQ5NjhlYjAzIiwiZTFiMzE2MGZlOGExNGJjNDg0ZWJkZDMwZDRkNGRhOTAiLCI2NDdjMDNhYTRjYmI0YmVlYTI2NzE3Yzc2MWZiMTVhNiIsIjliZjUyZDAzMjRhMTQxY2U5YjM3Mzk1ZmQ4NjQyYThhIiwiZjc5MWNhYzkzNTBhNDE4ZmI4YjA2NTI5YWIwNzcxMmUiLCIyMzRjOGJmZGM2MDg0OTljYjcyZmI0NGQwMDYyODNmOSIsIjhmOTkzMmVkNDNhMzRhNjZiYjM5MjA3M2E5OTk3ZWYyIiwiNTQ3MTU2YzI2MDFkNDQ0ZmE5ZjU2MWM3NGU5YmMwMWEiLCJkZWI2NjE3OWZhNTA0MzZmYmNkNjBlZWNiNTQ1NTIzYSIsImY3ZDgwOWQ4NmQ1ZjQ4NWI5NzkzZWIwN2VlNjc4N2ExIiwiODNlODA3ZmIxYTNkNGM4NTg0YWI2ZGE1YmY5YWFhNTYiLCJlZjk1OGVkMTJhNjU0ZDkwYWYzZWIwMmNkNjMxNjBiNyIsIjQ2NTdkYmQzNGY5NDRmMDdiMzA2MjViZmI4MmU5YzY0IiwiNjZkYjFmOWEwMmU5NDY4Zjk0ZDc0YmIzZmU1MWI5MTQiLCI2N2I0ZGI5MGRjYTY0MDg4YTEzYTNjMTBhOGU1NDgzOCIsIjg4YWU2ODM2YzFmMTQ0MTI5ODJiNmY3MTg0ZDY4MzViIiwiYzhhYjAxNDk0OTY4NGJjMWFkNzMzYTFkZGFmZTdjZTgiLCJmNDZhMjM2YTc5MGQ0MDYxODdmZjUxOTVlNGM0ZDdhNSIsImY1MDQ3YWYzMWVjMzRjODg4ZjkxYmVlZTNjOWFmYmQ0IiwiY2U0YzBkZmU4NWM0NDkzYzkwYzMzZGM1Mzk5MTQzOTgiLCJlOGZiYWVkZjNjZDc0ODBhOTY4YjI3OTUwMDZmNzRiNiIsImQ5ZjU1NGVkMjkyMjRhZWNhOTk4OTA4OGUyZmIyM2IwIiwiMWE3NDA3MDYyNTMwNDlhNWFkZGRiOTgxMmY0YzQ4NmUiLCI0ZWM4NDRlMTE1MGQ0ZjRiYTFhNDA4M2U0YmJkY2M4ZiIsIjU1NDY0ZTI0ZWIwMTRhNDlhYTU3NWNhNTcyZGFhYTkzIiwiODA5ZjZkZTQ2YThmNDk4YmI3MmNlZDEzNWI4NDdlNjUiLCJhYjk0YTA5YTM5NTc0NDZmYjkyOTEwNzM5YTcxZDBjMCIsImFmMWE4ZWFiNmFkNjQ1YTk5MzQ4NTBiNDljYmM3YjBkIiwiZDNhNzkyNmI4MzYzNDUxNjkyYjIxYjBiNzdlM2ViNDciLCJmNGU5OWQ3Yjc2OWI0ZjRiYWYxZGFjMDVjMTc1NGE3MCIsIjJkZmY5ZTc3MTA5ZjQ2MTA5MjIyNWU0OWU0YzJjNjBhIiwiMjIxNTZlMTQyYmM5NDgxNTg4MjhiMGQ3OTkwMTYzMGIiLCJhOTk3ZGFhM2IyYTY0ZTQxOTUyZjNkNDMyYTc0YzJiZCIsIjE4N2FmZTJjYTRiOTRmYzU4ZTFhNzJhNmVkNzY4N2JjIiwiN2Q1YWMxMjUxODAzNDQ2MTgyZTllNzkzYzdhOTkzYjciLCJhNTQ5NDhiN2NjM2I0NGNmOTYzNGNjZjRjNjVkYzk4OCIsIjc3ODM1ZDAyNTg5NTRlZjdiMjIxMDNiZjNkODdmY2Q4IiwiNzhkMzgxN2JjOTIzNGFhMDg4Y2FhN2IwZTU0OTU1ODciLCJhZTcyNWMwMDcwZjc0ZmI2YjdkZGRiNWUxOWRlYmI3MyIsImQxZGM0Yzg5MDY0ZDQ2MWY4ODFmOGNiMDljZWI1ZWU2IiwiOGEzZmMzMmQyYTg2NDBmNjgzMzMyZjFiMjhkOTY1YzIiLCJhMTliYmZlOTBhODc0YzIzYWFlNjgxYzUzYjc5OWMyMyIsIjFiYTcwYzQwYjQ1YjRkMGFhNTQxN2UyNTg4YmU3YWI0IiwiYzkwN2NmNWYzMjMxNGU0NjlmMjBhZjNlNTgwZWFkYTAiLCI0MjVlYzEyNjk4NTY0NzQ3YWZiYjg0OTc4M2ZkYTdlYyIsImJlNjE1Y2QzYjM3YjRkZjBiYjc1YjFjYzMzMDQ5ZGMyIiwiZjE0ZmMwZWU2MmFhNGEwNWI4Y2IyMTUxODdkNDVjNGYiLCIwYWYwZDhjMTk1MDM0MDkwOWYyMmZkMDJmOTQxNGYzZSIsImFhYWRmY2NlNzE4ZTQyN2ZiY2E3Y2E3YmQ0MDJmMmMyIiwiOWIyOGM4MTBjMjBiNDJlMjg1NjQ5MTZlNTFmZmZlMmYiLCI5NWQwZDdlMmI5Yzk0ODY5OTJmMTk2NzIyODQzYTc5NCIsIjQ4OWIxOGZkNGRmNTRmOTdiOWU1MTg1ZDFhZjZkMWM3IiwiZjFlODdlMDRkZTExNDk4OGFlMDc4M2ZjNDAzNzUyNjQiLCIyOWRkNmE0ZDY0YTA0NzNiYmUyMTc5ODk2OGI5NDgzNyJdLCJpc19zZWN0aW9uc19hY3RpdmF0ZWQiOnRydWUsInJlZnJlc2hfdG9rZW4iOiIifQ.IbE8X1-18xjSZgPnQ4MIL_u4J_kzfUDmiCFfk0R9yLz7cS6CKkKcJtE-bStAuQkyb0Y2QPRxoioPXJ9UrmPKvg62mGUh_qLkenjZijSLqnhDsGzs76Xwioz81JhMlAIQfOVEa06aRQgYgr668ChLsXrExGzHy_OQKUObr6dWwufF2UbryMI1dg25O8RfY92yZlyNrd9zlnNJx3BWcrq2Lo0BS1ukzXQR5r5wVtyS00fxiCnaRhX99FUrFJPqG2Wv7ZXbwMbNO7OYFn6S1Cw00QpjHKpz6Oem-ZbToOgznXRg1ecPGYKeRCDauDLy_mONuJUOotrtA8Bz_F6hGmtNQtoJtDk6gWwywTzRKMZw5n020g2g-CjlnmjsKjQMP9g_50L8LxuuTKRg9DKZAPC_KEUOnkSBC0LyG83gCRaDxzUkPjH77DlFgKNVXFxmjVWVIg2XUmtrSbO7hE7EcFza4tC3NwGOQn8verQaFrykU8X-fFES54Gvz6NaySiY2N_FBxz6QXYqlbEHsoSeRQRsPYelZ_23Mp64PYmUp7qxQvQ0-4Mp98hppk8mCM9d9kdNZV0KXbCvy4qsQAT5pgydf_fVWTwXrejNKYY6yP_6yGY-76PVgxQiKnObERzoYPfzP2t5pscc0Z_ugwu7j-9La_oFI14nDwRYAyt5CHDG698"
                #providerKey: "api"
                -user: App\Security\User {#422 …}
                -roles: [
                  Symfony\Component\Security\Core\Role\Role {#757
                    -role: "ROLE_USER"
                  }
                  Symfony\Component\Security\Core\Role\Role {#759
                    -role: "ROLE_SUPERADMIN"
                  }
                  Symfony\Component\Security\Core\Role\Role {#758
                    -role: "ROLE_ADMIN"
                  }
                  Symfony\Component\Security\Core\Role\Role {#472
                    -role: "ROLE_MODULE_MICROSOFT_GRAPH"
                  }
                  Symfony\Component\Security\Core\Role\Role {#760
                    -role: "ROLE_MODULE_PRODUCT"
                  }
                  Symfony\Component\Security\Core\Role\Role {#761
                    -role: "ROLE_MODULE_PRODUCT_CUSTOMIZE"
                  }
                  Symfony\Component\Security\Core\Role\Role {#762
                    -role: "ROLE_MODULE_QUOTE_LINE"
                  }
                  Symfony\Component\Security\Core\Role\Role {#763
                    -role: "PROSPECT_SHOW"
                  }
                  Symfony\Component\Security\Core\Role\Role {#764
                    -role: "PROSPECT_CUD"
                  }
                  Symfony\Component\Security\Core\Role\Role {#765
                    -role: "CONTACT_CUD"
                  }
                  Symfony\Component\Security\Core\Role\Role {#766
                    -role: "CONTACT_SHOW"
                  }
                  Symfony\Component\Security\Core\Role\Role {#767
                    -role: "TASK_SHOW"
                  }
                  Symfony\Component\Security\Core\Role\Role {#768
                    -role: "TASK_CUD"
                  }
                  Symfony\Component\Security\Core\Role\Role {#769
                    -role: "QUOTE_SHOW"
                  }
                  Symfony\Component\Security\Core\Role\Role {#770
                    -role: "QUOTE_CUD"
                  }
                  Symfony\Component\Security\Core\Role\Role {#771
                    -role: "QUOTE_REGENERATE_PRICES"
                  }
                ]
                -roleNames: [
                  "ROLE_USER"
                  "ROLE_SUPERADMIN"
                  "ROLE_ADMIN"
                  "ROLE_MODULE_MICROSOFT_GRAPH"
                  "ROLE_MODULE_PRODUCT"
                  "ROLE_MODULE_PRODUCT_CUSTOMIZE"
                  "ROLE_MODULE_QUOTE_LINE"
                  "PROSPECT_SHOW"
                  "PROSPECT_CUD"
                  "CONTACT_CUD"
                  "CONTACT_SHOW"
                  "TASK_SHOW"
                  "TASK_CUD"
                  "QUOTE_SHOW"
                  "QUOTE_CUD"
                  "QUOTE_REGENERATE_PRICES"
                ]
                -authenticated: true
                -attributes: []
              }
              "authenticator" => "App\Security\JWTTokenWhitelistAuthenticator"
            ]
            "channel" => "security"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Guard authenticator set no success response: request continues."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "authenticator" => "App\Security\JWTTokenWhitelistAuthenticator"
            ]
            "channel" => "security"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Remember me skipped: it is not configured for the firewall."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "authenticator" => "App\Security\JWTTokenWhitelistAuthenticator"
            ]
            "channel" => "security"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "debug.security.authorization.vote"
              "listener" => "Symfony\Bundle\SecurityBundle\EventListener\VoteListener::onVoterVote"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "debug.security.authorization.vote"
              "listener" => "Symfony\Bundle\SecurityBundle\EventListener\VoteListener::onVoterVote"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.request"
              "listener" => "App\V4\Dev\EventSubscriber\DisableProfilerOnProfilerEventSubscriber::onKernelRequest"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.request"
              "listener" => "Symfony\Component\HttpKernel\EventListener\DebugHandlersListener::configure"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.request"
              "listener" => "App\EventListener\DebugRequestListener::onKernelRequest"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.request"
              "listener" => "App\EventListener\DebugRequestListener::onKernelRequest"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.request"
              "listener" => "Symfony\Component\HttpKernel\EventListener\ValidateRequestListener::onKernelRequest"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.request"
              "listener" => "Nelmio\CorsBundle\EventListener\CorsListener::onKernelRequest"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.request"
              "listener" => "App\EventListener\RequestListener::onKernelRequest"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.request"
              "listener" => "Symfony\Component\HttpKernel\EventListener\SessionListener::onKernelRequest"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.request"
              "listener" => "Symfony\Component\HttpKernel\EventListener\LocaleListener::setDefaultLocale"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.request"
              "listener" => "Symfony\Component\HttpKernel\EventListener\RouterListener::onKernelRequest"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.request"
              "listener" => "Symfony\Bundle\FrameworkBundle\EventListener\ResolveControllerNameSubscriber::resolveControllerName"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.request"
              "listener" => "ApiPlatform\Core\Filter\QueryParameterValidateListener::onKernelRequest"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.request"
              "listener" => "Symfony\Component\HttpKernel\EventListener\LocaleListener::onKernelRequest"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.request"
              "listener" => "Symfony\Component\HttpKernel\EventListener\LocaleAwareListener::onKernelRequest"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.request"
              "listener" => "Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener::configureLogoutUrlGenerator"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.request"
              "listener" => "Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener::onKernelRequest"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.request"
              "listener" => "ApiPlatform\Core\EventListener\AddFormatListener::onKernelRequest"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.request"
              "listener" => "App\DoctrineFilter\CustomerFilterEventSubscriber::onKernelRequest"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.request"
              "listener" => "Sentry\SentryBundle\EventListener\RequestListener::handleKernelRequestEvent"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.request"
              "listener" => "ApiPlatform\Core\EventListener\ReadListener::onKernelRequest"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.request"
              "listener" => "Sentry\SentryBundle\EventListener\TracingRequestListener::handleKernelRequestEvent"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.request"
              "listener" => "ApiPlatform\Core\Security\EventListener\DenyAccessListener::onSecurity"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.request"
              "listener" => "Sentry\SentryBundle\EventListener\SubRequestListener::handleKernelRequestEvent"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.request"
              "listener" => "ApiPlatform\Core\EventListener\DeserializeListener::onKernelRequest"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.request"
              "listener" => "Sentry\SentryBundle\EventListener\TracingSubRequestListener::handleKernelRequestEvent"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.request"
              "listener" => "ApiPlatform\Core\Security\EventListener\DenyAccessListener::onSecurityPostDenormalize"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.request"
              "listener" => "ApiPlatform\Core\Bridge\Symfony\Bundle\EventListener\SwaggerUiListener::onKernelRequest"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.request"
              "listener" => "App\V4\EventSubscriber\Sentry\RegisterTransactionIdEventSubscriber::onKernelRequest"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.request"
              "listener" => "Stof\DoctrineExtensionsBundle\EventListener\BlameListener::onKernelRequest"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.controller"
              "listener" => "Sentry\SentryBundle\EventListener\RequestListener::handleKernelControllerEvent"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.controller"
              "listener" => "Symfony\Bundle\FrameworkBundle\DataCollector\RouterDataCollector::onKernelController"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.controller"
              "listener" => "Symfony\Component\HttpKernel\DataCollector\RequestDataCollector::onKernelController"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.controller"
              "listener" => "Sensio\Bundle\FrameworkExtraBundle\EventListener\ControllerListener::onKernelController"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.controller"
              "listener" => "Sensio\Bundle\FrameworkExtraBundle\EventListener\ParamConverterListener::onKernelController"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.controller"
              "listener" => "Sensio\Bundle\FrameworkExtraBundle\EventListener\HttpCacheListener::onKernelController"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.controller"
              "listener" => "Sensio\Bundle\FrameworkExtraBundle\EventListener\TemplateListener::onKernelController"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.controller_arguments"
              "listener" => "Symfony\Component\HttpKernel\EventListener\ErrorListener::onControllerArguments"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.controller_arguments"
              "listener" => "Sensio\Bundle\FrameworkExtraBundle\EventListener\SecurityListener::onKernelControllerArguments"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.controller_arguments"
              "listener" => "Sensio\Bundle\FrameworkExtraBundle\EventListener\IsGrantedListener::onKernelControllerArguments"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "debug.security.authorization.vote"
              "listener" => "Symfony\Bundle\SecurityBundle\EventListener\VoteListener::onVoterVote"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "debug.security.authorization.vote"
              "listener" => "Symfony\Bundle\SecurityBundle\EventListener\VoteListener::onVoterVote"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "debug.security.authorization.vote"
              "listener" => "Symfony\Bundle\SecurityBundle\EventListener\VoteListener::onVoterVote"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "debug.security.authorization.vote"
              "listener" => "Symfony\Bundle\SecurityBundle\EventListener\VoteListener::onVoterVote"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "debug.security.authorization.vote"
              "listener" => "Symfony\Bundle\SecurityBundle\EventListener\VoteListener::onVoterVote"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "debug.security.authorization.vote"
              "listener" => "Symfony\Bundle\SecurityBundle\EventListener\VoteListener::onVoterVote"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "debug.security.authorization.vote"
              "listener" => "Symfony\Bundle\SecurityBundle\EventListener\VoteListener::onVoterVote"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "debug.security.authorization.vote"
              "listener" => "Symfony\Bundle\SecurityBundle\EventListener\VoteListener::onVoterVote"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "debug.security.authorization.vote"
              "listener" => "Symfony\Bundle\SecurityBundle\EventListener\VoteListener::onVoterVote"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "debug.security.authorization.vote"
              "listener" => "Symfony\Bundle\SecurityBundle\EventListener\VoteListener::onVoterVote"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "debug.security.authorization.vote"
              "listener" => "Symfony\Bundle\SecurityBundle\EventListener\VoteListener::onVoterVote"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "debug.security.authorization.vote"
              "listener" => "Symfony\Bundle\SecurityBundle\EventListener\VoteListener::onVoterVote"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "debug.security.authorization.vote"
              "listener" => "Symfony\Bundle\SecurityBundle\EventListener\VoteListener::onVoterVote"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Request: "GET http://dev.pol-api-business.pol-crm.com/api/quotes/753d0f24880b40db9a45aa5fe5f480d0?customerId=e8919dbc01f34f79ab22b9c434f114eb""
            "priority" => 200
            "priorityName" => "INFO"
            "context" => []
            "channel" => "http_client"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Response: "200 http://dev.pol-api-business.pol-crm.com/api/quotes/753d0f24880b40db9a45aa5fe5f480d0?customerId=e8919dbc01f34f79ab22b9c434f114eb""
            "priority" => 200
            "priorityName" => "INFO"
            "context" => []
            "channel" => "http_client"
          ]
          [
            "timestamp" => 1760623467
            "message" => "Request: "GET http://dev.pol-api-param.pol-crm.com/api/templates/0246345ae9e34e0e9bc2bfb20a6e7376""
            "priority" => 200
            "priorityName" => "INFO"
            "context" => []
            "channel" => "http_client"
          ]
          [
            "timestamp" => 1760623468
            "message" => "Response: "200 http://dev.pol-api-param.pol-crm.com/api/templates/0246345ae9e34e0e9bc2bfb20a6e7376""
            "priority" => 200
            "priorityName" => "INFO"
            "context" => []
            "channel" => "http_client"
          ]
          [
            "timestamp" => 1760623468
            "message" => "Request: "GET http://dev.pol-api-crm.pol-crm.com/api/prospects/9a3373aafe494f949331cb91f53e99fa?customerId=e8919dbc01f34f79ab22b9c434f114eb""
            "priority" => 200
            "priorityName" => "INFO"
            "context" => []
            "channel" => "http_client"
          ]
          [
            "timestamp" => 1760623468
            "message" => "Response: "200 http://dev.pol-api-crm.pol-crm.com/api/prospects/9a3373aafe494f949331cb91f53e99fa?customerId=e8919dbc01f34f79ab22b9c434f114eb""
            "priority" => 200
            "priorityName" => "INFO"
            "context" => []
            "channel" => "http_client"
          ]
          [
            "timestamp" => 1760623468
            "message" => "Request: "GET http://dev.pol-api-user.pol-crm.com/api/users/ce4c0dfe85c4493c90c33dc539914398?customerId=e8919dbc01f34f79ab22b9c434f114eb""
            "priority" => 200
            "priorityName" => "INFO"
            "context" => []
            "channel" => "http_client"
          ]
          [
            "timestamp" => 1760623468
            "message" => "Response: "200 http://dev.pol-api-user.pol-crm.com/api/users/ce4c0dfe85c4493c90c33dc539914398?customerId=e8919dbc01f34f79ab22b9c434f114eb""
            "priority" => 200
            "priorityName" => "INFO"
            "context" => []
            "channel" => "http_client"
          ]
          [
            "timestamp" => 1760623468
            "message" => "Request: "GET http://dev.pol-api-crm.pol-crm.com/api/contacts/858c7f78b77c4dba9ba3db681b99d8ee?customerId=e8919dbc01f34f79ab22b9c434f114eb""
            "priority" => 200
            "priorityName" => "INFO"
            "context" => []
            "channel" => "http_client"
          ]
          [
            "timestamp" => 1760623469
            "message" => "Response: "200 http://dev.pol-api-crm.pol-crm.com/api/contacts/858c7f78b77c4dba9ba3db681b99d8ee?customerId=e8919dbc01f34f79ab22b9c434f114eb""
            "priority" => 200
            "priorityName" => "INFO"
            "context" => []
            "channel" => "http_client"
          ]
          [
            "timestamp" => 1760623469
            "message" => "Request: "GET http://dev.pol-api-user.pol-crm.com/api/users/1aeb1b089d1443578f3d2eca1f6abeaf?customerId=e8919dbc01f34f79ab22b9c434f114eb""
            "priority" => 200
            "priorityName" => "INFO"
            "context" => []
            "channel" => "http_client"
          ]
          [
            "timestamp" => 1760623469
            "message" => "Response: "200 http://dev.pol-api-user.pol-crm.com/api/users/1aeb1b089d1443578f3d2eca1f6abeaf?customerId=e8919dbc01f34f79ab22b9c434f114eb""
            "priority" => 200
            "priorityName" => "INFO"
            "context" => []
            "channel" => "http_client"
          ]
          [
            "timestamp" => 1760623469
            "message" => "Request: "GET http://dev.pol-api-param.pol-crm.com/api/fields?page=1&itemsPerPage=10&pagination=0&entity=Quote&customerId=e8919dbc01f34f79ab22b9c434f114eb""
            "priority" => 200
            "priorityName" => "INFO"
            "context" => []
            "channel" => "http_client"
          ]
          [
            "timestamp" => 1760623469
            "message" => "Response: "200 http://dev.pol-api-param.pol-crm.com/api/fields?page=1&itemsPerPage=10&pagination=0&entity=Quote&customerId=e8919dbc01f34f79ab22b9c434f114eb""
            "priority" => 200
            "priorityName" => "INFO"
            "context" => []
            "channel" => "http_client"
          ]
          [
            "timestamp" => 1760623469
            "message" => "Request: "GET http://dev.pol-api-ged.pol-crm.com/api/customer_resource/get_by_path?customerId=e8919dbc01f34f79ab22b9c434f114eb&path=CHARTE+GRAPHIQUE%2FAGL%2FPegime%2Flogo.png""
            "priority" => 200
            "priorityName" => "INFO"
            "context" => []
            "channel" => "http_client"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Response: "200 http://dev.pol-api-ged.pol-crm.com/api/customer_resource/get_by_path?customerId=e8919dbc01f34f79ab22b9c434f114eb&path=CHARTE+GRAPHIQUE%2FAGL%2FPegime%2Flogo.png""
            "priority" => 200
            "priorityName" => "INFO"
            "context" => []
            "channel" => "http_client"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Request: "GET http://dev.pol-api-ged.pol-crm.com/api/customer_resource/download/8181224a818c4943a537b3d883d6746e""
            "priority" => 200
            "priorityName" => "INFO"
            "context" => []
            "channel" => "http_client"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Response: "500 http://dev.pol-api-ged.pol-crm.com/api/customer_resource/download/8181224a818c4943a537b3d883d6746e""
            "priority" => 200
            "priorityName" => "INFO"
            "context" => []
            "channel" => "http_client"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Uncaught PHP Exception Twig\Error\RuntimeError: "An exception has been thrown during the rendering of a template ("HTTP/1.1 500 Internal Server Error returned for "http://dev.pol-api-ged.pol-crm.com/api/customer_resource/download/8181224a818c4943a537b3d883d6746e".") in "quote_pdf (string template bdbd82de5dd1d12da3fd1b29d6c5cb5e0417e847d1e165bc7afd226de96c353f)" at line 53." at /var/www/vhosts/app.pol-crm.com/httpdocs/app-pol-crm/dev/releases/20251009101152/application/vendor/twig/twig/src/Template.php line 419"
            "priority" => 500
            "priorityName" => "CRITICAL"
            "context" => [
              "exception" => Twig\Error\RuntimeError {#7024
                -lineno: 53
                -name: "quote_pdf (string template bdbd82de5dd1d12da3fd1b29d6c5cb5e0417e847d1e165bc7afd226de96c353f)"
                -rawMessage: "An exception has been thrown during the rendering of a template ("HTTP/1.1 500 Internal Server Error returned for "http://dev.pol-api-ged.pol-crm.com/api/customer_resource/download/8181224a818c4943a537b3d883d6746e".")."
                -sourcePath: ""
                -sourceCode: """
                  {% set quoteAddress = '' %}\n
                  {% set quoteCity = '' %}\n
                  {% set quotePostalCode = '' %}\n
                  {% set quoteBuildingName = '' %}\n
                  {% set quoteOfferType = '' %}\n
                  {% set quoteMissionType = '' %}\n
                  {% set quoteAgency = '' %}\n
                  {% set quoteEntity = '' %}\n
                  \n
                  {% for specificField in quote.specificFields|default([]) %}\n
                      {% if specificField.fieldName == "Adresse" %}\n
                          {% set quoteAddress = specificField.value|default('') %}\n
                      {% endif %}\n
                      {% if specificField.fieldName == "Ville" %}\n
                          {% set quoteCity = specificField.value|default('') %}\n
                      {% endif %}\n
                      {% if specificField.fieldName == "Code postal" %}\n
                          {% set quotePostalCode = specificField.value|default('') %}\n
                      {% endif %}\n
                      {% if specificField.fieldName == "Nom du bâtiment" %}\n
                          {% set quoteBuildingName = specificField.value|default('') %}\n
                      {% endif %}\n
                      {% if specificField.fieldName == "Type d'offre" %}\n
                          {% set quoteOfferType = specificField.value|default('') %}\n
                      {% endif %}\n
                      {% if specificField.fieldName == "Type de mission" %}\n
                          {% set quoteMissionType = specificField.value|default('') %}\n
                      {% endif %}\n
                      {% if specificField.fieldName == "Agence" %}\n
                          {% set quoteAgency = specificField.value|default('') %}\n
                      {% endif %}\n
                      {% if specificField.fieldName == "Entite" %}\n
                          {% set quoteEntity = specificField.value|default('') %}\n
                      {% endif %}\n
                  {% endfor %}\n
                  \n
                  {% set agencyCity = '' %}\n
                  \n
                  {% if quoteAgency|upper == "AGA" %}\n
                      {% set agencyCity = "Annecy" %}\n
                  {% elseif quoteAgency|upper == "AGG" or quoteAgency|upper == "RVI" %}\n
                      {% set agencyCity = "Grenoble" %}\n
                  {% elseif quoteAgency|upper == "AGC" or quoteAgency|upper == "AGB" %}\n
                      {% set agencyCity = "Chambéry" %}\n
                  {% elseif quoteAgency|upper == "AGV" %}\n
                      {% set agencyCity = "Vienne" %}\n
                  {% elseif quoteAgency|upper == "AGL" %}\n
                      {% set agencyCity = "Villeurbanne" %}\n
                  {% elseif quoteAgency|upper == "AGS" %}\n
                      {% set agencyCity = "Sallanches" %}\n
                  {% endif %}\n
                  \n
                  {% set logoImg = gedImageByPath('CHARTE GRAPHIQUE/' ~ quoteAgency ~ '/' ~ quoteEntity ~ '/logo.png') %}\n
                  {% set footerImg = gedImageByPath('CHARTE GRAPHIQUE/' ~ quoteAgency ~ '/' ~ quoteEntity ~ '/footer.png') %}\n
                  \n
                  <!DOCTYPE html>\n
                  <html>\n
                  <head>\n
                      <meta charset="UTF-8">\n
                  </head>\n
                  <body>\n
                  {# All styles must be in CSS2 #}\n
                  <style>\n
                      @page {\n
                          margin: 5cm 1cm 2.5cm 1cm;\n
                      }\n
                  \n
                      html {\n
                          font-size: 14px;\n
                          font-family: Arial, sans-serif;\n
                          color: #545454;\n
                      }\n
                  \n
                      p {\n
                          line-height: 1.3;\n
                          margin: unset;\n
                      }\n
                  \n
                      h1,\n
                      h2,\n
                      h3 {\n
                          text-align: center;\n
                          background: #0f243e;\n
                          padding: 0.5rem;\n
                          color: #fff;\n
                      }\n
                  \n
                      h1 {\n
                          font-size: 1.4rem;\n
                      }\n
                  \n
                      h2 {\n
                          font-size: 1.1rem;\n
                      }\n
                  \n
                      h3 {\n
                          padding-top: 0.3rem;\n
                          padding-bottom: 0.3rem;\n
                          font-size: 0.9rem;\n
                      }\n
                  \n
                      .break-before {\n
                          page-break-before: always;\n
                      }\n
                  \n
                      .break-after {\n
                          page-break-after: always;\n
                      }\n
                  \n
                      .underline {\n
                          text-decoration: underline;\n
                      }\n
                  \n
                      .pdf-template__header {\n
                          position: fixed;\n
                          z-index: -2;\n
                          top: -4cm;\n
                          left: 0;\n
                          right: 0;\n
                          height: 4cm;\n
                      }\n
                  \n
                      .pdf-template__header > div {\n
                          display: inline-block;\n
                          vertical-align: middle;\n
                      }\n
                  \n
                      .pdf-template__header > div:first-child {\n
                          width: 35%;\n
                      }\n
                  \n
                      .pdf-template__header > div:last-child {\n
                          width: 64%;\n
                          text-align: right;\n
                          font-size: 0.8rem;\n
                      }\n
                  \n
                      .pdf-template__header img {\n
                          height: 100%;\n
                          object-fit: contain;\n
                      }\n
                  \n
                      .pdf-template__footer {\n
                          position: fixed;\n
                          left: -1cm;\n
                          right: -1cm;\n
                          bottom: -2.5cm;\n
                          height: 2.5cm;\n
                      }\n
                  \n
                      .pdf-template__footer img {\n
                          max-height: 2.5cm;\n
                          width: 100%;\n
                          object-fit: contain;\n
                      }\n
                  \n
                      .pdf-template__footer .page__number {\n
                          position: absolute;\n
                          z-index: 1;\n
                          right: 0.5rem;\n
                          bottom: 0.5rem;\n
                          font-size: 0.7rem;\n
                      }\n
                  \n
                      .pdf-template__footer .page__number:after {\n
                          content: counter(page, decimal);\n
                      }\n
                  \n
                      .pdf-template__body {\n
                          margin-top: 3.5cm;\n
                      }\n
                  \n
                      .block-header-first-page {\n
                          position: absolute;\n
                          top: -5cm;\n
                          padding-top: 1cm;\n
                          left: 0;\n
                          right: 0;\n
                          background: #fff;\n
                      }\n
                  \n
                      .block-header-first-page:after {\n
                          content: "";\n
                          display: table;\n
                          clear: both;\n
                      }\n
                  \n
                      .block-logo-first-page img {\n
                          height: 5cm;\n
                          max-width: 8cm;\n
                          object-fit: contain;\n
                      }\n
                  \n
                      .block-header-first-page .block-logo-first-page,\n
                      .block-header-first-page .block-sender {\n
                          float: left;\n
                          width: 50%;\n
                      }\n
                  \n
                      .block-header-first-page .block-sender {\n
                          margin-top: 3.5cm;\n
                          font-weight: bold;\n
                      }\n
                  \n
                      .block-header-first-page .block-sender p {\n
                          line-height: 1.2;\n
                      }\n
                  \n
                      .block-city-date {\n
                          display: inline-block;\n
                          margin-left: 50%;\n
                          margin-bottom: 2rem;\n
                      }\n
                  \n
                      .block-receiver {\n
                          margin-bottom: 3rem;\n
                      }\n
                  \n
                      .block-receiver p {\n
                          line-height: 1.1;\n
                      }\n
                  \n
                      .block-description p {\n
                          line-height: 3;\n
                      }\n
                  \n
                      .block-signature {\n
                          margin-top: 2rem;\n
                          margin-left: 60%;\n
                          font-size: 0.85rem;\n
                      }\n
                  \n
                      .block-table {\n
                          margin-top: 3rem;\n
                          margin-bottom: 3rem;\n
                      }\n
                  \n
                      .block-table table {\n
                          width: 100%;\n
                          border-collapse: collapse;\n
                          page-break-inside: avoid;\n
                      }\n
                  \n
                      .table__price {\n
                          text-align: right;\n
                      }\n
                  \n
                      .block-table table th,\n
                      .block-table table td {\n
                          border: 1px solid #545454;\n
                          padding: 0.25rem 0.4rem;\n
                          page-break-inside: auto;\n
                      }\n
                  \n
                      .block-table table th {\n
                          font-weight: normal;\n
                          white-space: nowrap;\n
                      }\n
                  \n
                      .block-table table th:first-child {\n
                          border-top: none;\n
                          border-left: none;\n
                      }\n
                  \n
                      .block-table table th:last-child {\n
                          background: #ececec;\n
                          color: #545454;\n
                          width: 25%;\n
                      }\n
                  \n
                      .block-table table td {\n
                          text-align: right;\n
                          font-size: 0.9rem;\n
                      }\n
                  \n
                      .block-table table td:first-child {\n
                          text-align: left;\n
                      }\n
                  \n
                      .block-table-full {\n
                          margin-top: 2rem;\n
                          margin-bottom: 2rem;\n
                      }\n
                  \n
                      .block-table-full table {\n
                          page-break-inside: avoid;\n
                          width: 100%;\n
                          border-collapse: collapse;\n
                      }\n
                  \n
                      .block-table-full table th,\n
                      .block-table-full table td {\n
                          border: 1px solid #545454;\n
                          padding: 0.25rem 0.4rem;\n
                      }\n
                  \n
                      .block-table-full table td {\n
                          text-align: right;\n
                      }\n
                  \n
                      .block-table-full table td:first-child {\n
                          text-align: left;\n
                      }\n
                  \n
                      .block-table-full table tfoot td:first-child {\n
                          text-align: right;\n
                          padding: unset;\n
                      }\n
                  \n
                      .block-table-full table tfoot td:first-child > span {\n
                          background: #d9d9d9;\n
                          padding: 0.25rem 0.4rem;\n
                      }\n
                  \n
                      .block-table-full table th {\n
                          white-space: nowrap;\n
                      }\n
                  \n
                      .block-table-full table tr:first-of-type th:last-child {\n
                          background: #d9d9d9;\n
                          color: #545454;\n
                      }\n
                  \n
                      .raw-render {\n
                          line-height: 1;\n
                          text-align: justify;\n
                      }\n
                  \n
                      .small {\n
                          font-size: 0.85rem;\n
                      }\n
                  \n
                      .linethrough {\n
                          text-decoration: line-through;\n
                      }\n
                  \n
                      .block-two-columns {\n
                          margin-top: 3rem;\n
                          margin-bottom: 3rem;\n
                      }\n
                  \n
                      .block-two-columns > div {\n
                          display: inline-block;\n
                          vertical-align: top;\n
                          word-break: break-all;\n
                      }\n
                  \n
                      .block-two-columns > div:first-child {\n
                          width: 38%;\n
                      }\n
                  \n
                      .block-index-table table {\n
                          width: 100%;\n
                          border-collapse: collapse;\n
                      }\n
                  \n
                      .block-index-table table th,\n
                      .block-index-table table td {\n
                          border: 1px solid #545454;\n
                          padding: 0.25rem 0.4rem;\n
                          text-align: center;\n
                      }\n
                  \n
                      .block-index-table table th:last-child,\n
                      .block-index-table table td:last-child {\n
                          text-align: left;\n
                      }\n
                  \n
                      .block-observations,\n
                      .block-conditions {\n
                          page-break-inside: auto;\n
                      }\n
                  \n
                      .block-conditions {\n
                          margin-top: 3rem;\n
                      }\n
                  \n
                      .block-quote-signature {\n
                          margin-top: 2rem;\n
                          margin-left: 20%;\n
                      }\n
                  \n
                      .block-agreement {\n
                          page-break-inside: avoid;\n
                          margin-top: 3rem;\n
                          border: 2px solid #545454;\n
                          padding: 0 1rem;\n
                      }\n
                  \n
                      .block-agreement > div {\n
                          margin-bottom: 7rem;\n
                      }\n
                  \n
                      .block-agreement .block-two-columns > div:first-child {\n
                          width: 45%;\n
                      }\n
                  \n
                      .block-agreement > p:last-of-type {\n
                          margin-bottom: 8rem;\n
                      }\n
                  \n
                      .row-wrap:empty {\n
                          display: none;\n
                      }\n
                  \n
                      .row-wrap {\n
                          min-height: 6rem;\n
                          padding-top: 1.5rem;\n
                          padding-bottom: 1rem;\n
                          vertical-align: middle;\n
                          font-weight: bold;\n
                      }\n
                  \n
                      .row-wrap .item {\n
                          display: inline-block;\n
                          height: 6rem;\n
                          line-height: 6rem;\n
                          vertical-align: middle;\n
                          width: auto;\n
                          margin-right: 1.5rem;\n
                          margin-bottom: 1.5rem;\n
                      }\n
                  \n
                      .row-wrap .item:last-child {\n
                          margin-right: 0;\n
                      }\n
                  </style>\n
                  \n
                  <header class="pdf-template__header">\n
                      <div>\n
                          <img src="{{ logoImg|default('') }}" alt="logo">\n
                      </div>\n
                      <div>\n
                          <p><b>PROPOSITION D'HONORAIRES</b></p>\n
                          <p>{{ quoteBuildingName|upper }}</p>\n
                          <p><b>{{ quoteMissionType }}</b></p>\n
                      </div>\n
                  </header>\n
                  \n
                  <footer class="pdf-template__footer">\n
                      <img src="{{ footerImg|default('') }}" alt="footer">\n
                      <span class="page__number">Page </span>\n
                  </footer>\n
                  \n
                  <div class="pdf-template__body">\n
                      <div class="block-header-first-page">\n
                          <div class="block-logo-first-page">\n
                              <img src="{{ logoImg|default('') }}" alt="logo">\n
                          </div>\n
                          <div class="block-sender">\n
                              <p>{{ quote.prospect.fullName|default('') }}</p>\n
                              <p>À l'attention de {{ quote.contactIdRealName|default('') }}</p>\n
                              {% if quote.prospect.contact.mainAddress.address is defined or quote.prospect.contact.mainAddress.city is defined or quote.prospect.contact.mainAddress.postalCode is defined %}\n
                                  <p>{{ quote.prospect.contact.mainAddress.address|default('') }}</p>\n
                                  <p>{{ quote.prospect.contact.mainAddress.postalCode|default('') }} {{ quote.prospect.contact.mainAddress.city|default('') }}</p>\n
                              {% endif %}\n
                          </div>\n
                      </div>\n
                      <div class="block-city-date">\n
                          <p>{{ agencyCity|length > 0 ? agencyCity ~ ', le' : 'Le' }} {{ 'now'|date('d/m/Y') }}</p>\n
                      </div>\n
                      <div class="block-receiver">\n
                          <p>{{ quoteBuildingName|upper }}</p>\n
                          <p>{{ quoteAddress }}</p>\n
                          <p>{{ quotePostalCode }} {{ quoteCity }}</p>\n
                          <p><b>{{ quoteMissionType }}</b></p>\n
                      </div>\n
                      <div class="block-description">\n
                          {% set civility = 'Madame, Monsieur' %}\n
                          {% if contactConcerned is defined %}\n
                              {% set civility = contactConcerned.civility.value|default('Madame, Monsieur') %}\n
                          {% endif %}\n
                          <p>{{ civility }},</p>\n
                          <br>\n
                          <p>Pour faire suite à votre demande, nous avons le plaisir de vous adresser notre proposition d'honoraires.</p>\n
                          <p>Nous restons à votre disposition pour vous apporter toutes précisions utiles.</p>\n
                          <p>Nous vous prions d'agréer, {{ civility }}, nos respectueuses salutations.</p>\n
                      </div>\n
                      <div class="block-signature break-after">\n
                          <div>\n
                              <p><b>{{ managedBy.fullname|default('') }}</b></p>\n
                              <p><em>{{ managedBy.job|default('') }}</em></p>\n
                          </div>\n
                      </div>\n
                  \n
                      {# ---- PAGE BREAK ---- #}\n
                  \n
                      {% set coContractors = [] %}\n
                      {% for sectionName, quoteLines in quoteLinesBySection|default([]) %}\n
                          {% for quoteLine in quoteLines|default([]) %}\n
                              {% if quoteLine.quoteLineInfo.product.categories|length > 0 %}\n
                                  {% set isObservationProduct = false %}\n
                                  {% for category in quoteLine.quoteLineInfo.product.categories %}\n
                                      {% if category.id == "eb31972e5c9a4702877fb7014a26fa6d" %}\n
                                          {% set isObservationProduct = true %}\n
                                      {% endif %}\n
                                  {% endfor %}\n
                                  {% if isObservationProduct and quoteLine.description|default('')|length > 0 %}\n
                                      <div class="block-observations">\n
                                          <div class="raw-render small">\n
                                              {{ quoteLine.description|raw }}\n
                                          </div>\n
                                      </div>\n
                                  {% endif %}\n
                              {% endif %}\n
                          {% endfor %}\n
                  \n
                          {% set sectionName = sectionName|split('|') %}\n
                          {% if sectionName[1] is defined %}\n
                              {% set sectionName = sectionName[1] %}\n
                          {% else %}\n
                              {% set sectionName = sectionName[0] %}\n
                          {% endif %}\n
                  \n
                          {% if sectionName|lower != 'default' %}\n
                              {# si la première lettre de sectionName est un a, e, i, o, u, y, h, on met l'apostrophe #}\n
                              {% set elision = sectionName|slice(0, 1)|lower in ['a', 'e', 'i', 'o', 'u', 'y', 'h'] ? "D'" : "DE " %}\n
                              <h2>PHASE {{ elision ~ sectionName|upper }} de votre projet</h2>\n
                          {% endif %}\n
                  \n
                          {% for quoteLine in quoteLines|default([]) %}\n
                              {% set isOptionalProduct = false %}\n
                              {% set isQuotePart = false %}\n
                              {% if quoteLine.isOptional and quoteLine.quoteLineInfo.product is defined %}\n
                                  {% set isOptionalProduct = true %}\n
                                  {% for specificField in quoteLine.quoteLineInfo.product.specificFields %}\n
                                      {% if specificField.fieldId == "7100aa47620a4eb29180c4611e71616d" and specificField.value == "1" %}\n
                                          {% set isOptionalProduct = false %}\n
                                          {% set isQuotePart = true %}\n
                                      {% endif %}\n
                                  {% endfor %}\n
                              {% endif %}\n
                  \n
                              {% set isObservationProduct = false %}\n
                              {% if quoteLine.quoteLineInfo.product.categories is defined and quoteLine.quoteLineInfo.product.categories|default([])|length > 0 %}\n
                                  {% for category in quoteLine.quoteLineInfo.product.categories %}\n
                                      {% if category.id == "eb31972e5c9a4702877fb7014a26fa6d" %}\n
                                          {% set isObservationProduct = true %}\n
                                      {% endif %}\n
                                  {% endfor %}\n
                              {% endif %}\n
                  \n
                              {% if not isOptionalProduct and not isObservationProduct %}\n
                                  {% set splittedName = quoteLine.name|default('')|split('% ') %}\n
                                  {% if quoteLine.quoteLineInfo.quoteLineInfoProductAttributes is defined %}\n
                                      {% set currentCoContractor = null %}\n
                                      {% set currentCoContractorIndex = 0 %}\n
                                      {% for productAttribute in quoteLine.quoteLineInfo.quoteLineInfoProductAttributes %}\n
                                          {% if productAttribute.productAttributeLabel|split('|')[0] == 'Nombre de jours' and productAttribute.value > 0 and productAttribute.productAttribute.groupCode not in coContractors %}\n
                                              {% set coContractors = coContractors|merge([productAttribute.productAttribute.groupCode]) %}\n
                                          {% endif %}\n
                                          {% if productAttribute.productAttributeLabel|split('|')[0] == 'Nom entreprise' and productAttribute.value is not null and productAttribute.value not in coContractors %}\n
                                              {% set currentCoContractor = productAttribute.value %}\n
                                              {% set currentCoContractorIndex = productAttribute.productAttributeLabel|split('|')[1] %}\n
                                          {% endif %}\n
                                          {% if productAttribute.productAttributeLabel|split('|')[0] == 'Co-traitant' and productAttribute.value == 'true' and currentCoContractorIndex == productAttribute.productAttributeLabel|split('|')[1] %}\n
                                              {% set coContractors = coContractors|merge([currentCoContractor]) %}\n
                                          {% endif %}\n
                                      {% endfor %}\n
                                  {% endif %}\n
                  \n
                                  <div class="block-table">\n
                                      <table>\n
                                          <thead>\n
                                          <tr>\n
                                              <th></th>\n
                                              <th>Montant HT</th>\n
                                          </tr>\n
                                          </thead>\n
                                          <tbody>\n
                                          <tr>\n
                                              <td>\n
                                                  <p><b>{{ quoteLine.comment|default('')|raw|nl2br }}</b></p>\n
                                              </td>\n
                                              <td>\n
                                                  <div class="table__price">\n
                                                      {% if isQuotePart and splittedName|length > 1 %}\n
                                                          {{ splittedName[0] }}&percnt; du montant HT des travaux\n
                                                      {% else %}\n
                                                          {% if quoteLine.discountAmount > 0 %}\n
                                                              <p class="small linethrough">\n
                                                                  {{ quoteLine.totalExclDiscountAndVat|default(0)|number_format(2, ',', ' ') }} &euro;\n
                                                              </p>\n
                                                          {% endif %}\n
                                                          {{ quoteLine.totalExclVat|default(0)|number_format(2, ',', ' ') }} &euro;\n
                                                      {% endif %}\n
                                                  </div>\n
                                              </td>\n
                                          </tr>\n
                                          </tbody>\n
                                      </table>\n
                                      <div class="raw-render small">\n
                                          {{ quoteLine.description|default('')|raw }}\n
                                      </div>\n
                                  </div>\n
                              {% endif %}\n
                          {% endfor %}\n
                  \n
                          {% set hasOptionalProduct = false %}\n
                          {% for quoteLine in quoteLines|default([]) %}\n
                              {% set rowIsPercentage = false %}\n
                              {% for specificField in quoteLine.quoteLineInfo.product.specificFields|default({}) %}\n
                                  {% if specificField.fieldId == "7100aa47620a4eb29180c4611e71616d" and specificField.value == "1" %} {# Article de surcôte (attributs en %) #}\n
                                      {% set rowIsPercentage = true %}\n
                                  {% endif %}\n
                              {% endfor %}\n
                  \n
                              {% if not rowIsPercentage and quoteLine.isOptional and quoteLine.quoteLineInfo.product is defined %}\n
                                  {% set hasOptionalProduct = true %}\n
                              {% endif %}\n
                          {% endfor %}\n
                  \n
                          <div class="block-table-full {{ hasOptionalProduct ? '' : 'break-after' }}">\n
                              <table>\n
                                  <thead>\n
                                  <tr>\n
                                      <th colspan="5">\n
                                          {{ sectionName|lower != 'default' ? sectionName ~ ' -' : '' }} Total des honoraires - Options\n
                                          non comprises\n
                                      </th>\n
                                  </tr>\n
                                  <tr>\n
                                      <th>Mission</th>\n
                                      <th>MONTANT HT</th>\n
                                      <th>Montant TVA</th>\n
                                      <th>Taux TVA</th>\n
                                      <th>MONTANT TTC</th>\n
                                  </tr>\n
                                  </thead>\n
                                  <tbody>\n
                                  {% set totalExclVat = 0 %}\n
                                  {% set totalVat = 0 %}\n
                                  {% for quoteLine in quoteLines|default([]) %}\n
                                      {% set isOptionalProduct = false %}\n
                                      {% set isQuotePart = false %}\n
                                      {% if quoteLine.isOptional and quoteLine.quoteLineInfo.product is defined %}\n
                                          {% set isOptionalProduct = true %}\n
                                          {% for specificField in quoteLine.quoteLineInfo.product.specificFields %}\n
                                              {% if specificField.fieldId == "7100aa47620a4eb29180c4611e71616d" and specificField.value == "1" %}\n
                                                  {% set isOptionalProduct = false %}\n
                                                  {% set isQuotePart = true %}\n
                                              {% endif %}\n
                                          {% endfor %}\n
                                      {% endif %}\n
                  \n
                                      {% set isObservationProduct = false %}\n
                                      {% if quoteLine.quoteLineInfo.product.categories is defined and quoteLine.quoteLineInfo.product.categories|default([])|length > 0 %}\n
                                          {% for category in quoteLine.quoteLineInfo.product.categories %}\n
                                              {% if category.id == "eb31972e5c9a4702877fb7014a26fa6d" %}\n
                                                  {% set isObservationProduct = true %}\n
                                              {% endif %}\n
                                          {% endfor %}\n
                                      {% endif %}\n
                                      {% if not isOptionalProduct and not isObservationProduct %}\n
                                          {% set totalExclVat = totalExclVat + quoteLine.totalExclVat|default(0) %}\n
                                          {% set totalVat = isQuotePart ? totalVat : totalVat + quoteLine.total|default(0) %}\n
                                          {% set splittedName = quoteLine.name|default('')|split('% ') %}\n
                                          <tr>\n
                                              <td>\n
                                                  {{ quoteLine.comment|default('')|raw|nl2br }}\n
                                              </td>\n
                                              <td>\n
                                                  {% if isQuotePart and splittedName|length > 1 %}\n
                                                      {{ splittedName[0] }}&percnt; du montant HT des travaux\n
                                                  {% else %}\n
                                                      {{ quoteLine.totalExclVat|default(0)|number_format(2, ',', ' ') }} &euro;\n
                                                  {% endif %}\n
                                              </td>\n
                                              <td>\n
                                                  {% if not isQuotePart %}\n
                                                      {{ quoteLine.vatAmount|default(0)|number_format(2, ',', ' ') }} &euro;\n
                                                  {% endif %}\n
                                              </td>\n
                                              <td>\n
                                                  {% if not isQuotePart %}\n
                                                      {{ quoteLine.vatRate|default('') }}\n
                                                  {% endif %}\n
                                              </td>\n
                                              <td>\n
                                                  {% if not isQuotePart %}\n
                                                      {{ quoteLine.total|default(0)|number_format(2, ',', ' ') }} &euro;\n
                                                  {% endif %}\n
                                              </td>\n
                                          </tr>\n
                                      {% endif %}\n
                                  {% endfor %}\n
                                  </tbody>\n
                                  {% if totalVat > 0 %}\n
                                      <tfoot>\n
                                      <tr>\n
                                          <td colspan="4">\n
                                              <span>TOTAL</span>\n
                                          </td>\n
                                          <td>{{ totalVat|number_format(2, ',', ' ') }} &euro;</td>\n
                                      </tr>\n
                                      </tfoot>\n
                                  {% endif %}\n
                              </table>\n
                          </div>\n
                  \n
                          {% if hasOptionalProduct %}\n
                              <h3 class="break-before">OPTIONS de votre projet</h3>\n
                              {% for quoteLine in quoteLines|default([]) %}\n
                                  {% set isOptionalProduct = false %}\n
                                  {% set isQuotePart = false %}\n
                                  {% if quoteLine.isOptional and quoteLine.quoteLineInfo.product is defined %}\n
                                      {% set isOptionalProduct = true %}\n
                                      {% for specificField in quoteLine.quoteLineInfo.product.specificFields %}\n
                                          {% if specificField.fieldId == "7100aa47620a4eb29180c4611e71616d" and specificField.value == "1" %}\n
                                              {% set isOptionalProduct = false %}\n
                                              {% set isQuotePart = true %}\n
                                          {% endif %}\n
                                      {% endfor %}\n
                                  {% endif %}\n
                  \n
                                  {% set isObservationProduct = false %}\n
                                  {% if quoteLine.quoteLineInfo.product.categories is defined and quoteLine.quoteLineInfo.product.categories|default([])|length > 0 %}\n
                                      {% for category in quoteLine.quoteLineInfo.product.categories %}\n
                                          {% if category.id == "eb31972e5c9a4702877fb7014a26fa6d" %}\n
                                              {% set isObservationProduct = true %}\n
                                          {% endif %}\n
                                      {% endfor %}\n
                                  {% endif %}\n
                  \n
                                  {% if isOptionalProduct and not isObservationProduct %}\n
                                      {% set splittedName = quoteLine.name|default('')|split('% ') %}\n
                                      {% if quoteLine.quoteLineInfo.quoteLineInfoProductAttributes is defined %}\n
                                          {% set currentCoContractor = null %}\n
                                          {% set currentCoContractorIndex = 0 %}\n
                                          {% for productAttribute in quoteLine.quoteLineInfo.quoteLineInfoProductAttributes %}\n
                                              {% if productAttribute.productAttributeLabel|split('|')[0] == 'Nombre de jours' and productAttribute.value > 0 and productAttribute.productAttribute.groupCode not in coContractors %}\n
                                                  {% set coContractors = coContractors|merge([productAttribute.productAttribute.groupCode]) %}\n
                                              {% endif %}\n
                                              {% if productAttribute.productAttributeLabel|split('|')[0] == 'Nom entreprise' and productAttribute.value is not null and productAttribute.value not in coContractors %}\n
                                                  {% set currentCoContractor = productAttribute.value %}\n
                                                  {% set currentCoContractorIndex = productAttribute.productAttributeLabel|split('|')[1] %}\n
                                              {% endif %}\n
                                              {% if productAttribute.productAttributeLabel|split('|')[0] == 'Co-traitant' and productAttribute.value == 'true' and currentCoContractorIndex == productAttribute.productAttributeLabel|split('|')[1] %}\n
                                                  {% set coContractors = coContractors|merge([currentCoContractor]) %}\n
                                              {% endif %}\n
                                          {% endfor %}\n
                                      {% endif %}\n
                  \n
                                      <div class="block-table">\n
                                          <table>\n
                                              <thead>\n
                                              <tr>\n
                                                  <th></th>\n
                                                  <th>Montant HT</th>\n
                                              </tr>\n
                                              </thead>\n
                                              <tbody>\n
                                              <tr>\n
                                                  <td>\n
                                                      <p><b>{{ quoteLine.comment|default('')|raw|nl2br }}</b></p>\n
                                                  </td>\n
                                                  <td>\n
                                                      <div class="table__price">\n
                                                          {% if isQuotePart and splittedName|length > 1 %}\n
                                                              {{ splittedName[0] }}&percnt; du montant HT des travaux\n
                                                          {% else %}\n
                                                              {% if quoteLine.discountAmount > 0 %}\n
                                                                  <p class="small linethrough">\n
                                                                      {{ quoteLine.totalExclDiscountAndVat|default(0)|number_format(2, ',', ' ') }} &euro;\n
                                                                  </p>\n
                                                              {% endif %}\n
                                                              {{ quoteLine.totalExclVat|default(0)|number_format(2, ',', ' ') }} &euro;\n
                                                          {% endif %}\n
                                                      </div>\n
                                                  </td>\n
                                              </tr>\n
                                              </tbody>\n
                                          </table>\n
                                          <div class="raw-render small">\n
                                              {{ quoteLine.description|default('')|raw }}\n
                                          </div>\n
                                      </div>\n
                                  {% endif %}\n
                              {% endfor %}\n
                  \n
                              <div class="block-table-full break-after">\n
                                  <table>\n
                                      <thead>\n
                                      <tr>\n
                                          <th colspan="5">\n
                                              {{ sectionName|lower != 'default' ? sectionName ~ ' -' : '' }} Total des options\n
                                          </th>\n
                                      </tr>\n
                                      <tr>\n
                                          <th>Mission</th>\n
                                          <th>MONTANT HT</th>\n
                                          <th>Montant TVA</th>\n
                                          <th>Taux TVA</th>\n
                                          <th>MONTANT TTC</th>\n
                                      </tr>\n
                                      </thead>\n
                                      <tbody>\n
                                      {% set totalExclVat = 0 %}\n
                                      {% set totalVat = 0 %}\n
                                      {% for quoteLine in quoteLines|default([]) %}\n
                                          {% set isOptionalProduct = false %}\n
                                          {% if quoteLine.isOptional and quoteLine.quoteLineInfo.product is defined %}\n
                                              {% set isOptionalProduct = true %}\n
                                              {% for specificField in quoteLine.quoteLineInfo.product.specificFields %}\n
                                                  {% if specificField.fieldId == "7100aa47620a4eb29180c4611e71616d" and specificField.value == "1" %}\n
                                                      {% set isOptionalProduct = false %}\n
                                                  {% endif %}\n
                                              {% endfor %}\n
                                          {% endif %}\n
                  \n
                                          {% set isObservationProduct = false %}\n
                                          {% if quoteLine.quoteLineInfo.product.categories is defined and quoteLine.quoteLineInfo.product.categories|default([])|length > 0 %}\n
                                              {% for category in quoteLine.quoteLineInfo.product.categories %}\n
                                                  {% if category.id == "eb31972e5c9a4702877fb7014a26fa6d" %}\n
                                                      {% set isObservationProduct = true %}\n
                                                  {% endif %}\n
                                              {% endfor %}\n
                                          {% endif %}\n
                                          {% if isOptionalProduct and not isObservationProduct %}\n
                                              {% set totalExclVat = totalExclVat + quoteLine.totalExclVat|default(0) %}\n
                                              {% set totalVat = totalVat + quoteLine.total|default(0) %}\n
                                              <tr>\n
                                                  <td>{{ quoteLine.comment|default('')|raw|nl2br }}</td>\n
                                                  <td>{{ quoteLine.totalExclVat|default(0)|number_format(2, ',', ' ') }} &euro;</td>\n
                                                  <td>\n
                                                      {{ quoteLine.vatAmount|default(0)|number_format(2, ',', ' ') }} &euro;\n
                                                  </td>\n
                                                  <td>{{ quoteLine.vatRate|default('') }}</td>\n
                                                  <td>{{ quoteLine.total|default(0)|number_format(2, ',', ' ') }} &euro;</td>\n
                                              </tr>\n
                                          {% endif %}\n
                                      {% endfor %}\n
                                      </tbody>\n
                                      {% if totalVat > 0 %}\n
                                          <tfoot>\n
                                          <tr>\n
                                              <td colspan="4">\n
                                                  <span>TOTAL</span>\n
                                              </td>\n
                                              <td>{{ totalVat|number_format(2, ',', ' ') }} &euro;</td>\n
                                          </tr>\n
                                          </tfoot>\n
                                      {% endif %}\n
                                  </table>\n
                              </div>\n
                          {% endif %}\n
                      {% endfor %}\n
                  \n
                      {# ---- PAGE BREAK ---- #}\n
                  \n
                      <div class="block-quote-signature">\n
                          <p>{{ agencyCity|length > 0 ? agencyCity ~ ', le' : 'Le' }} {{ 'now'|date('d/m/Y') }}</p>\n
                      </div>\n
                      <div class="block-agreement break-after">\n
                          <div class="block-two-columns">\n
                              <div>\n
                                  <p><b>BON POUR ACCORD le ........../........../..........</b></p>\n
                              </div>\n
                              <div>\n
                                  <p>\n
                                      <em>Le Maître d'Ouvrage ou son Représentant</em>\n
                                      <br>\n
                                      <em>Signature et cachet :</em>\n
                                  </p>\n
                              </div>\n
                          </div>\n
                          <p>Décision quant à l'option chiffrée : VALIDÉE / NON VALIDÉE</p>\n
                          <p>Observations éventuelles :</p>\n
                      </div>\n
                  \n
                      {# ---- PAGE BREAK ---- #}\n
                  \n
                      <div class="block-conditions">\n
                          <p class="underline"><b>CONDITIONS :</b></p>\n
                          <br>\n
                          {% if coContractors|length > 0 %}\n
                              <p><b class="underline small">Membres du groupement concernés par cette mission :</b></p>\n
                              <br>\n
                              <div class="row-wrap">{% for coContractor in coContractors %} {# Ne pas mettre for à la ligne pour éviter les espaces interne et que :empty fonctionne #}\n
                                      {% set imgCoContractor = gedImageByPath('CHARTE GRAPHIQUE/CO-TRAITANTS/' ~ coContractor ~ '.png')|default('') %}\n
                                      {% if imgCoContractor|length > 0 %}\n
                                          <img class="item" height="6rem" width="auto" src="{{ imgCoContractor }}"\n
                                               alt="logo {{ coContractor }}">\n
                                      {% else %}\n
                                          <p class="item">{{ coContractor }}</p>\n
                                      {% endif %}\n
                                  {% endfor %}</div>\n
                          {% endif %}\n
                          <br>\n
                          <div class="raw-render small">\n
                              {{ quote.terms|default('')|raw }}\n
                          </div>\n
                      </div>\n
                  </div>\n
                  </body>\n
                  </html>
                  """
                #message: "An exception has been thrown during the rendering of a template ("HTTP/1.1 500 Internal Server Error returned for "http://dev.pol-api-ged.pol-crm.com/api/customer_resource/download/8181224a818c4943a537b3d883d6746e".") in "quote_pdf (string template bdbd82de5dd1d12da3fd1b29d6c5cb5e0417e847d1e165bc7afd226de96c353f)" at line 53."
                #code: 0
                #file: "/var/www/vhosts/app.pol-crm.com/httpdocs/app-pol-crm/dev/releases/20251009101152/application/vendor/twig/twig/src/Template.php"
                #line: 419
                -previous: Symfony\Component\HttpClient\Exception\ServerException {#7673 …}
                trace: {
                  /var/www/vhosts/app.pol-crm.com/httpdocs/app-pol-crm/dev/releases/20251009101152/application/vendor/twig/twig/src/Template.php:419 {
                    Twig\Template->displayWithErrorHandling(array $context, array $blocks = []) …
                    › } catch (\Exception $e) {    $e = new RuntimeError(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $this->getSourceContext(), $e);    $e->guess();
                  }
                  /var/www/vhosts/app.pol-crm.com/httpdocs/app-pol-crm/dev/releases/20251009101152/application/vendor/twig/twig/src/Template.php:378 {
                    Twig\Template->display(array $context, array $blocks = []) …
                    › {    $this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));}
                    arguments: {
                      $context: [ …13]
                      $blocks: []
                    }
                  }
                  /var/www/vhosts/app.pol-crm.com/httpdocs/app-pol-crm/dev/releases/20251009101152/application/vendor/twig/twig/src/Template.php:390 {
                    Twig\Template->render(array $context) …
                    › try {    $this->display($context);} catch (\Throwable $e) {
                    arguments: {
                      $context: [ …12]
                    }
                  }
                  /var/www/vhosts/app.pol-crm.com/httpdocs/app-pol-crm/dev/releases/20251009101152/application/vendor/twig/twig/src/TemplateWrapper.php:45 {
                    Twig\TemplateWrapper->render(array $context = []): string …
                    ›     // as it should only be used by internal code    return $this->template->render($context, \func_get_args()[1] ?? []);}
                    arguments: {
                      $context: [ …12]
                      ...: {
                        []
                      }
                    }
                  }
                  /var/www/vhosts/app.pol-crm.com/httpdocs/app-pol-crm/dev/releases/20251009101152/application/src/V4/Service/Pdf/PdfGenerator.php:202 {
                    App\V4\Service\Pdf\PdfGenerator->generatePdfContentByTemplate(Quote $quote, string $templateId = null, array $data = []): string …
                    › 
                    ›     return base64_encode($generatedTwig->render(array_merge($quoteVars, $data)));}
                    arguments: {
                      $context: [ …12]
                    }
                  }
                  /var/www/vhosts/app.pol-crm.com/httpdocs/app-pol-crm/dev/releases/20251009101152/application/src/Controller/Quote/QuoteController.php:138 {
                    App\Controller\Quote\QuoteController->generateQuotePdf(Request $request, string $id): JsonResponse …
                    › }$base64File = $this->pdfGenerator->generatePdfContentByTemplate($quote, $quoteData['templateId'], $quoteData);$response = $this->pdfGenerator->generatePdfWithTemplateForQuote($quote, $base64File, $quoteData[PdfGenerator::OPTION_MODE], $quoteData['templateId']);
                    arguments: {
                      $quote: App\V4\Model\Quote\Quote {#1845 …}
                      $templateId: "0246345ae9e34e0e9bc2bfb20a6e7376"
                      $data: [ …7]
                    }
                  }
                  /var/www/vhosts/app.pol-crm.com/httpdocs/app-pol-crm/dev/releases/20251009101152/application/vendor/symfony/http-kernel/HttpKernel.php:169 {
                    Symfony\Component\HttpKernel\HttpKernel->handleRaw(Request $request, int $type = self::MASTER_REQUEST): Response …
                    › // call controller$response = $controller(...$arguments);arguments: {
                      $request: Symfony\Component\HttpFoundation\Request {#55 …}
                      $id: "753d0f24880b40db9a45aa5fe5f480d0"
                    }
                  }
                  /var/www/vhosts/app.pol-crm.com/httpdocs/app-pol-crm/dev/releases/20251009101152/application/vendor/symfony/http-kernel/HttpKernel.php:81 {
                    Symfony\Component\HttpKernel\HttpKernel->handle(Request $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = true) …
                    › try {    return $this->handleRaw($request, $type);} catch (\Exception $e) {
                    arguments: {
                      $request: Symfony\Component\HttpFoundation\Request {#55 …}
                      $type: 1
                    }
                  }
                  /var/www/vhosts/app.pol-crm.com/httpdocs/app-pol-crm/dev/releases/20251009101152/application/vendor/symfony/http-kernel/Kernel.php:201 {
                    Symfony\Component\HttpKernel\Kernel->handle(Request $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = true) …
                    › try {    return $this->getHttpKernel()->handle($request, $type, $catch);} finally {
                    arguments: {
                      $request: Symfony\Component\HttpFoundation\Request {#55 …}
                      $type: 1
                      $catch: true
                    }
                  }
                  /var/www/vhosts/app.pol-crm.com/httpdocs/app-pol-crm/dev/releases/20251009101152/application/public/index.php:25 {$request = Request::createFromGlobals();$response = $kernel->handle($request);$response->send();
                    arguments: {
                      $request: Symfony\Component\HttpFoundation\Request {#55 …}
                    }
                  }
                }
              }
            ]
            "channel" => "request"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.exception"
              "listener" => "Sentry\SentryBundle\EventListener\ErrorListener::handleExceptionEvent"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.exception"
              "listener" => "App\EventSubscriber\DataRetrieverEventManager::checkException"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.exception"
              "listener" => "App\EventListener\ExceptionResponseRequestListener::onKernelException"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.exception"
              "listener" => "Symfony\Component\Security\Http\Firewall\ExceptionListener::onKernelException"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.exception"
              "listener" => "App\EventListener\ExceptionResponseRequestListener::onKernelException"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.exception"
              "listener" => "ApiPlatform\Core\Bridge\Symfony\Validator\EventListener\ValidationExceptionListener::onKernelException"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.exception"
              "listener" => "Symfony\Component\HttpKernel\EventListener\ErrorListener::logKernelException"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.exception"
              "listener" => "Symfony\Component\HttpKernel\EventListener\ProfilerListener::onKernelException"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.exception"
              "listener" => "Symfony\Bundle\SwiftmailerBundle\EventListener\EmailSenderListener::onException"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.exception"
              "listener" => "Symfony\Component\HttpKernel\EventListener\RouterListener::onKernelException"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.exception"
              "listener" => "ApiPlatform\Core\EventListener\ExceptionListener::onKernelException"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.exception"
              "listener" => "Symfony\Component\HttpKernel\EventListener\ErrorListener::onKernelException"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Listener "{listener}" stopped propagation of the event "{event}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.exception"
              "listener" => "Symfony\Component\HttpKernel\EventListener\ErrorListener::onKernelException"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.response"
              "listener" => "Sentry\SentryBundle\EventListener\TracingRequestListener::handleKernelResponseEvent"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.response"
              "listener" => "Sentry\SentryBundle\EventListener\TracingSubRequestListener::handleKernelResponseEvent"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.response"
              "listener" => "ApiPlatform\Core\Hydra\EventListener\AddLinkHeaderListener::onKernelResponse"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.response"
              "listener" => "App\EventSubscriber\JsonResponseSubscriber::processResponse"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.response"
              "listener" => "App\EventSubscriber\JsonResponseSubscriber::processResponse"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.response"
              "listener" => "Symfony\Component\HttpKernel\EventListener\ResponseListener::onKernelResponse"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.response"
              "listener" => "Symfony\Component\HttpKernel\DataCollector\RequestDataCollector::onKernelResponse"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.response"
              "listener" => "Symfony\Component\WebLink\EventListener\AddLinkHeaderListener::onKernelResponse"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.response"
              "listener" => "Sensio\Bundle\FrameworkExtraBundle\EventListener\HttpCacheListener::onKernelResponse"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.response"
              "listener" => "Symfony\Component\Security\Http\RememberMe\ResponseListener::onKernelResponse"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.response"
              "listener" => "Nelmio\CorsBundle\EventListener\CorsListener::onKernelResponse"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.response"
              "listener" => "ApiPlatform\Core\HttpCache\EventListener\AddHeadersListener::onKernelResponse"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.response"
              "listener" => "Symfony\Component\HttpKernel\EventListener\ProfilerListener::onKernelResponse"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.response"
              "listener" => "Symfony\Bundle\WebProfilerBundle\EventListener\WebDebugToolbarListener::onKernelResponse"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.response"
              "listener" => "Symfony\Component\HttpKernel\EventListener\DisallowRobotsIndexingListener::onResponse"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.response"
              "listener" => "Symfony\Component\HttpKernel\EventListener\SessionListener::onKernelResponse"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.response"
              "listener" => "Symfony\Component\HttpKernel\EventListener\StreamedResponseListener::onKernelResponse"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.finish_request"
              "listener" => "Sentry\SentryBundle\EventListener\TracingSubRequestListener::handleKernelFinishRequestEvent"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.finish_request"
              "listener" => "Sentry\SentryBundle\EventListener\SubRequestListener::handleKernelFinishRequestEvent"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.finish_request"
              "listener" => "Symfony\Component\HttpKernel\EventListener\LocaleListener::onKernelFinishRequest"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.finish_request"
              "listener" => "Symfony\Component\HttpKernel\EventListener\SessionListener::onFinishRequest"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.finish_request"
              "listener" => "Symfony\Component\HttpKernel\EventListener\RouterListener::onKernelFinishRequest"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.finish_request"
              "listener" => "Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener::onKernelFinishRequest"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.finish_request"
              "listener" => "Symfony\Component\HttpKernel\EventListener\LocaleAwareListener::onKernelFinishRequest"
            ]
            "channel" => "event"
          ]
        ]
        "00000000779c455c000000000f100361" => [
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.request"
              "listener" => "App\V4\Dev\EventSubscriber\DisableProfilerOnProfilerEventSubscriber::onKernelRequest"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.request"
              "listener" => "Symfony\Component\HttpKernel\EventListener\DebugHandlersListener::configure"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.request"
              "listener" => "App\EventListener\DebugRequestListener::onKernelRequest"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.request"
              "listener" => "App\EventListener\DebugRequestListener::onKernelRequest"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.request"
              "listener" => "Symfony\Component\HttpKernel\EventListener\ValidateRequestListener::onKernelRequest"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.request"
              "listener" => "Nelmio\CorsBundle\EventListener\CorsListener::onKernelRequest"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.request"
              "listener" => "App\EventListener\RequestListener::onKernelRequest"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.request"
              "listener" => "Symfony\Component\HttpKernel\EventListener\SessionListener::onKernelRequest"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.request"
              "listener" => "Symfony\Component\HttpKernel\EventListener\LocaleListener::setDefaultLocale"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.request"
              "listener" => "Symfony\Component\HttpKernel\EventListener\RouterListener::onKernelRequest"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.request"
              "listener" => "Symfony\Bundle\FrameworkBundle\EventListener\ResolveControllerNameSubscriber::resolveControllerName"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.request"
              "listener" => "ApiPlatform\Core\Filter\QueryParameterValidateListener::onKernelRequest"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.request"
              "listener" => "Symfony\Component\HttpKernel\EventListener\LocaleListener::onKernelRequest"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.request"
              "listener" => "Symfony\Component\HttpKernel\EventListener\LocaleAwareListener::onKernelRequest"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.request"
              "listener" => "Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener::configureLogoutUrlGenerator"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.request"
              "listener" => "Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener::onKernelRequest"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.request"
              "listener" => "ApiPlatform\Core\EventListener\AddFormatListener::onKernelRequest"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.request"
              "listener" => "App\DoctrineFilter\CustomerFilterEventSubscriber::onKernelRequest"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.request"
              "listener" => "Sentry\SentryBundle\EventListener\RequestListener::handleKernelRequestEvent"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.request"
              "listener" => "ApiPlatform\Core\EventListener\ReadListener::onKernelRequest"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.request"
              "listener" => "Sentry\SentryBundle\EventListener\TracingRequestListener::handleKernelRequestEvent"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.request"
              "listener" => "ApiPlatform\Core\Security\EventListener\DenyAccessListener::onSecurity"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.request"
              "listener" => "Sentry\SentryBundle\EventListener\SubRequestListener::handleKernelRequestEvent"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.request"
              "listener" => "ApiPlatform\Core\EventListener\DeserializeListener::onKernelRequest"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.request"
              "listener" => "Sentry\SentryBundle\EventListener\TracingSubRequestListener::handleKernelRequestEvent"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.request"
              "listener" => "ApiPlatform\Core\Security\EventListener\DenyAccessListener::onSecurityPostDenormalize"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.request"
              "listener" => "ApiPlatform\Core\Bridge\Symfony\Bundle\EventListener\SwaggerUiListener::onKernelRequest"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.request"
              "listener" => "App\V4\EventSubscriber\Sentry\RegisterTransactionIdEventSubscriber::onKernelRequest"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.request"
              "listener" => "Stof\DoctrineExtensionsBundle\EventListener\BlameListener::onKernelRequest"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.controller"
              "listener" => "Sentry\SentryBundle\EventListener\RequestListener::handleKernelControllerEvent"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.controller"
              "listener" => "Symfony\Bundle\FrameworkBundle\DataCollector\RouterDataCollector::onKernelController"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.controller"
              "listener" => "Symfony\Component\HttpKernel\DataCollector\RequestDataCollector::onKernelController"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.controller"
              "listener" => "Sensio\Bundle\FrameworkExtraBundle\EventListener\ControllerListener::onKernelController"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.controller"
              "listener" => "Sensio\Bundle\FrameworkExtraBundle\EventListener\ParamConverterListener::onKernelController"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.controller"
              "listener" => "Sensio\Bundle\FrameworkExtraBundle\EventListener\HttpCacheListener::onKernelController"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.controller"
              "listener" => "Sensio\Bundle\FrameworkExtraBundle\EventListener\TemplateListener::onKernelController"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.controller_arguments"
              "listener" => "Symfony\Component\HttpKernel\EventListener\ErrorListener::onControllerArguments"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.controller_arguments"
              "listener" => "Sensio\Bundle\FrameworkExtraBundle\EventListener\SecurityListener::onKernelControllerArguments"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.controller_arguments"
              "listener" => "Sensio\Bundle\FrameworkExtraBundle\EventListener\IsGrantedListener::onKernelControllerArguments"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.response"
              "listener" => "Sentry\SentryBundle\EventListener\TracingRequestListener::handleKernelResponseEvent"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.response"
              "listener" => "Sentry\SentryBundle\EventListener\TracingSubRequestListener::handleKernelResponseEvent"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.response"
              "listener" => "ApiPlatform\Core\Hydra\EventListener\AddLinkHeaderListener::onKernelResponse"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.response"
              "listener" => "App\EventSubscriber\JsonResponseSubscriber::processResponse"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.response"
              "listener" => "App\EventSubscriber\JsonResponseSubscriber::processResponse"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.response"
              "listener" => "Symfony\Component\HttpKernel\EventListener\ResponseListener::onKernelResponse"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.response"
              "listener" => "Symfony\Component\HttpKernel\DataCollector\RequestDataCollector::onKernelResponse"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.response"
              "listener" => "Symfony\Component\WebLink\EventListener\AddLinkHeaderListener::onKernelResponse"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.response"
              "listener" => "Sensio\Bundle\FrameworkExtraBundle\EventListener\HttpCacheListener::onKernelResponse"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.response"
              "listener" => "Symfony\Component\Security\Http\RememberMe\ResponseListener::onKernelResponse"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.response"
              "listener" => "Nelmio\CorsBundle\EventListener\CorsListener::onKernelResponse"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.response"
              "listener" => "ApiPlatform\Core\HttpCache\EventListener\AddHeadersListener::onKernelResponse"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.response"
              "listener" => "Symfony\Component\HttpKernel\EventListener\ProfilerListener::onKernelResponse"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.response"
              "listener" => "Symfony\Bundle\WebProfilerBundle\EventListener\WebDebugToolbarListener::onKernelResponse"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.response"
              "listener" => "Symfony\Component\HttpKernel\EventListener\DisallowRobotsIndexingListener::onResponse"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.response"
              "listener" => "Symfony\Component\HttpKernel\EventListener\SessionListener::onKernelResponse"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.response"
              "listener" => "Symfony\Component\HttpKernel\EventListener\StreamedResponseListener::onKernelResponse"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.finish_request"
              "listener" => "Sentry\SentryBundle\EventListener\TracingSubRequestListener::handleKernelFinishRequestEvent"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.finish_request"
              "listener" => "Sentry\SentryBundle\EventListener\SubRequestListener::handleKernelFinishRequestEvent"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.finish_request"
              "listener" => "Symfony\Component\HttpKernel\EventListener\LocaleListener::onKernelFinishRequest"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.finish_request"
              "listener" => "Symfony\Component\HttpKernel\EventListener\SessionListener::onFinishRequest"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.finish_request"
              "listener" => "Symfony\Component\HttpKernel\EventListener\RouterListener::onKernelFinishRequest"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.finish_request"
              "listener" => "Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener::onKernelFinishRequest"
            ]
            "channel" => "event"
          ]
          [
            "timestamp" => 1760623470
            "message" => "Notified event "{event}" to listener "{listener}"."
            "priority" => 100
            "priorityName" => "DEBUG"
            "context" => [
              "event" => "kernel.finish_request"
              "listener" => "Symfony\Component\HttpKernel\EventListener\LocaleAwareListener::onKernelFinishRequest"
            ]
            "channel" => "event"
          ]
        ]
      ]
      -errorCount: [
        "00000000779c5b54000000000f100361" => 1
        "00000000779c455c000000000f100361" => 0
      ]
      -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1695 …}
    }
  ]
  #microsecondTimestamps: true
  #exceptionHandler: null
}

Request Headers

Header Value
accept
"application/ld+json"
accept-encoding
"gzip, deflate, br, zstd"
accept-language
"fr-FR,fr;q=0.9,en-US;q=0.8,en;q=0.7"
connection
"close"
content-length
"128"
content-type
"application/json"
host
"dev.app.pol-crm.com"
origin
"https://dev.pol-crm.com"
priority
"u=1, i"
referer
"https://dev.pol-crm.com/"
sec-ch-ua
""Google Chrome";v="141", "Not?A_Brand";v="8", "Chromium";v="141""
sec-ch-ua-mobile
"?0"
sec-ch-ua-platform
""Linux""
sec-fetch-dest
"empty"
sec-fetch-mode
"cors"
sec-fetch-site
"same-site"
user-agent
"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"
x-accel-internal
"/internal-nginx-static-location"
x-php-ob-level
"1"
x-pol-auth
"Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE3NjA2MjM0MDIsImV4cCI6MTc2MDYyNzAwMiwicm9sZXMiOlsiUk9MRV9VU0VSIiwiUk9MRV9TVVBFUkFETUlOIiwiUk9MRV9BRE1JTiIsIlJPTEVfTU9EVUxFX01JQ1JPU09GVF9HUkFQSCIsIlJPTEVfTU9EVUxFX1BST0RVQ1QiLCJST0xFX01PRFVMRV9QUk9EVUNUX0NVU1RPTUlaRSIsIlJPTEVfTU9EVUxFX1FVT1RFX0xJTkUiLCJQUk9TUEVDVF9TSE9XIiwiUFJPU1BFQ1RfQ1VEIiwiQ09OVEFDVF9DVUQiLCJDT05UQUNUX1NIT1ciLCJUQVNLX1NIT1ciLCJUQVNLX0NVRCIsIlFVT1RFX1NIT1ciLCJRVU9URV9DVUQiLCJRVU9URV9SRUdFTkVSQVRFX1BSSUNFUyJdLCJsb2dpbiI6ImRlbW9wbGVuZXR1ZGUiLCJ1c2VyX2lkIjoiMWFlYjFiMDg5ZDE0NDM1NzhmM2QyZWNhMWY2YWJlYWYiLCJ1c2VyX2V4dGVybmFsX2lkIjoiMTY1MTc1NjUwMCIsImVtYWlsIjoiZ2VzdGlvbkFPc2FsbGFuY2hlc0Bncm91cGUtcGxlbmV0dWRlLmZyIiwiY3VzdG9tZXJfaWQiOiJlODkxOWRiYzAxZjM0Zjc5YWIyMmI5YzQzNGYxMTRlYiIsImN1c3RvbWVyX25hbWUiOiJHcm91cGUgUGzDqW7DqXR1ZGUiLCJjdXN0b21lcl9leHRlcm5hbF9pZCI6IjE2NDQ1OTM0OTciLCJjdXN0b21lcl9tYWlsaW5nX2lkIjoiMjU0IiwiZmlyc3RuYW1lIjoiR3VpbGxhdW1lIiwibGFzdG5hbWUiOiJTQVVUUk9OIiwibGl2ZW9Mb2dpbiI6bnVsbCwibGl2ZW9QYXNzd29yZCI6bnVsbCwiaGFzSW50cmFuZXQiOmZhbHNlLCJsYW5ndWFnZSI6IkZSIiwic2VjdGlvbnNfbGVhZGVkIjpbIkFHQiIsIkFHQiAtIFBMRU5FVFVERSIsIkFHQiAtIFBST0xZU0UiLCJBR0IgLSBQRVhJTiIsIkFHQiAtIFBFR0lNRSIsIkFHQiAtIFBSSU9TVVIiLCJEaXJlY3Rpb24gR8OpbsOpcmFsZSIsIkFHRyIsIkFHRyAtIFBST0xZU0UiLCJBR0cgLSBQRUdJTUUiLCJBR0cgLSBQTEVORVRVREUiLCJBR0cgLSBQTEVORVRVREUgLSBDb2xsYWJvcmF0ZXVyIiwiQUdHIC0gUFJJT1NVUiIsIkFHRyAtIFBFWElOIiwiQUdHIC0gUEVYSU4gLSBDb2xsYWJvcmF0ZXVyIiwiQUdDIiwiQUdDIC0gUFJJT1NVUiIsIkFHQyAtIFBST0xZU0UiLCJBR0MgLSBQRUdJTUUiLCJBR0MgLSBQTEVORVRVREUiLCJBR0MgLSBQRVhJTiIsIkFHQyAtIFBFWElOIC0gQ29sbGFib3JhdGV1ciIsIkFHViIsIkFHViAtIFBSSU9TVVIiLCJBR1YgLSBQRUdJTUUiLCJBR1YgLSBQUk9MWVNFIiwiQUdWIC0gUExFTkVUVURFIiwiQUdBIiwiQUdBIC0gUFJPTFlTRSIsIkFHQSAtIFBFWElOIiwiQUdBIC0gUEVHSU1FIiwiQUdBIC0gUFJJT1NVUiIsIkFHQSAtIFBMRU5FVFVERSIsIlJWSSIsIlJWSSAtIENWQyAvIFBMQiIsIlJWSSAtIEVudmlyb25uZW1lbnRhbCIsIlJWSSAtIENGTyAvIENGQSIsIkFHUyIsIkFHUyAtIFBFR0lNRSIsIkFHUyAtIFBMRU5FVFVERSIsIkFHUyAtIFBFWElOIiwiQUdTIC0gUFJPTFlTRSIsIkFHUyAtIFBSSU9TVVIiLCJBR0wiLCJBR0wgLSBQUk9MWVNFIiwiQUdMIC0gUFJJT1NVUiIsIkFHTCAtIFBMRU5FVFVERSIsIkFHTCAtIFBFWElOIiwiQUdMIC0gUEVYSU4gLSBDb2xsYWJvcmF0ZXVyIiwiQUdMIC0gUExFTkVUVURFIC0gMiIsIkFHTCAtIFBFR0lNRSJdLCJzZWN0aW9uc19tZW1iZXJzIjpbIjFhZWIxYjA4OWQxNDQzNTc4ZjNkMmVjYTFmNmFiZWFmIiwiMDY1OWU4Mjk0NDE2NDBhYmI0ZTc2ZTc0MWNmMDQzMTEiLCIwODU1YjIxMDdlODg0ZDU3YTUxNTcwY2QyYTk4YmZhMyIsIjBkMGQ4OTEyOWI4ZjRmODI4NTczN2QzZTJjYzRhMmEwIiwiNDczZDBjOWNjMjQ1NGEwOGJmYjYzZjgyZmNhY2I2NzYiLCI5ZmVkZmUxZWRiYjE0OTIzYWVmM2M2ZjZlZDhjZjJmZCIsImNlMTJhMjI1OTA1ZTQzZTNiZTUwMzk0ODRiNzFlNGViIiwiM2MzZmQ1NWFjYTQyNGUzYzhkYTUwYzdjOTQ2YmE4OWUiLCIyNTIyZGJlMzNjOTA0OTU0ODIxOTVhNjQwZjRiYTk0NiIsIjYyZWRhYjk5OTdkNTQyYTFhODgwNzdlMjFmZjU0NDIzIiwiYTUzY2Q3YWI0OGU0NGNhZmE0YmRjMzc2MDc1NWFiMTUiLCIwNjhkNTI1Y2ZmMjQ0NDlkODE4MjI3ZWFlNDRmZmRhYyIsIjQzZjFhNTM0N2Q2ZjRkODM5MDdkM2QzZDQ2Y2QyY2E0IiwiNTJlYzllNGQ4OTc2NGY5MjgyNDI1ZmU0NmFhN2MzOGYiLCJiZGU5Njk2NDJhNjQ0YjY1ODZmN2NiZGY2YjJmNDg4NiIsImM1OTliNWIwNzFhODQ2NjE4NzhjNGIzODQ5NjhlYjAzIiwiZTFiMzE2MGZlOGExNGJjNDg0ZWJkZDMwZDRkNGRhOTAiLCI2NDdjMDNhYTRjYmI0YmVlYTI2NzE3Yzc2MWZiMTVhNiIsIjliZjUyZDAzMjRhMTQxY2U5YjM3Mzk1ZmQ4NjQyYThhIiwiZjc5MWNhYzkzNTBhNDE4ZmI4YjA2NTI5YWIwNzcxMmUiLCIyMzRjOGJmZGM2MDg0OTljYjcyZmI0NGQwMDYyODNmOSIsIjhmOTkzMmVkNDNhMzRhNjZiYjM5MjA3M2E5OTk3ZWYyIiwiNTQ3MTU2YzI2MDFkNDQ0ZmE5ZjU2MWM3NGU5YmMwMWEiLCJkZWI2NjE3OWZhNTA0MzZmYmNkNjBlZWNiNTQ1NTIzYSIsImY3ZDgwOWQ4NmQ1ZjQ4NWI5NzkzZWIwN2VlNjc4N2ExIiwiODNlODA3ZmIxYTNkNGM4NTg0YWI2ZGE1YmY5YWFhNTYiLCJlZjk1OGVkMTJhNjU0ZDkwYWYzZWIwMmNkNjMxNjBiNyIsIjQ2NTdkYmQzNGY5NDRmMDdiMzA2MjViZmI4MmU5YzY0IiwiNjZkYjFmOWEwMmU5NDY4Zjk0ZDc0YmIzZmU1MWI5MTQiLCI2N2I0ZGI5MGRjYTY0MDg4YTEzYTNjMTBhOGU1NDgzOCIsIjg4YWU2ODM2YzFmMTQ0MTI5ODJiNmY3MTg0ZDY4MzViIiwiYzhhYjAxNDk0OTY4NGJjMWFkNzMzYTFkZGFmZTdjZTgiLCJmNDZhMjM2YTc5MGQ0MDYxODdmZjUxOTVlNGM0ZDdhNSIsImY1MDQ3YWYzMWVjMzRjODg4ZjkxYmVlZTNjOWFmYmQ0IiwiY2U0YzBkZmU4NWM0NDkzYzkwYzMzZGM1Mzk5MTQzOTgiLCJlOGZiYWVkZjNjZDc0ODBhOTY4YjI3OTUwMDZmNzRiNiIsImQ5ZjU1NGVkMjkyMjRhZWNhOTk4OTA4OGUyZmIyM2IwIiwiMWE3NDA3MDYyNTMwNDlhNWFkZGRiOTgxMmY0YzQ4NmUiLCI0ZWM4NDRlMTE1MGQ0ZjRiYTFhNDA4M2U0YmJkY2M4ZiIsIjU1NDY0ZTI0ZWIwMTRhNDlhYTU3NWNhNTcyZGFhYTkzIiwiODA5ZjZkZTQ2YThmNDk4YmI3MmNlZDEzNWI4NDdlNjUiLCJhYjk0YTA5YTM5NTc0NDZmYjkyOTEwNzM5YTcxZDBjMCIsImFmMWE4ZWFiNmFkNjQ1YTk5MzQ4NTBiNDljYmM3YjBkIiwiZDNhNzkyNmI4MzYzNDUxNjkyYjIxYjBiNzdlM2ViNDciLCJmNGU5OWQ3Yjc2OWI0ZjRiYWYxZGFjMDVjMTc1NGE3MCIsIjJkZmY5ZTc3MTA5ZjQ2MTA5MjIyNWU0OWU0YzJjNjBhIiwiMjIxNTZlMTQyYmM5NDgxNTg4MjhiMGQ3OTkwMTYzMGIiLCJhOTk3ZGFhM2IyYTY0ZTQxOTUyZjNkNDMyYTc0YzJiZCIsIjE4N2FmZTJjYTRiOTRmYzU4ZTFhNzJhNmVkNzY4N2JjIiwiN2Q1YWMxMjUxODAzNDQ2MTgyZTllNzkzYzdhOTkzYjciLCJhNTQ5NDhiN2NjM2I0NGNmOTYzNGNjZjRjNjVkYzk4OCIsIjc3ODM1ZDAyNTg5NTRlZjdiMjIxMDNiZjNkODdmY2Q4IiwiNzhkMzgxN2JjOTIzNGFhMDg4Y2FhN2IwZTU0OTU1ODciLCJhZTcyNWMwMDcwZjc0ZmI2YjdkZGRiNWUxOWRlYmI3MyIsImQxZGM0Yzg5MDY0ZDQ2MWY4ODFmOGNiMDljZWI1ZWU2IiwiOGEzZmMzMmQyYTg2NDBmNjgzMzMyZjFiMjhkOTY1YzIiLCJhMTliYmZlOTBhODc0YzIzYWFlNjgxYzUzYjc5OWMyMyIsIjFiYTcwYzQwYjQ1YjRkMGFhNTQxN2UyNTg4YmU3YWI0IiwiYzkwN2NmNWYzMjMxNGU0NjlmMjBhZjNlNTgwZWFkYTAiLCI0MjVlYzEyNjk4NTY0NzQ3YWZiYjg0OTc4M2ZkYTdlYyIsImJlNjE1Y2QzYjM3YjRkZjBiYjc1YjFjYzMzMDQ5ZGMyIiwiZjE0ZmMwZWU2MmFhNGEwNWI4Y2IyMTUxODdkNDVjNGYiLCIwYWYwZDhjMTk1MDM0MDkwOWYyMmZkMDJmOTQxNGYzZSIsImFhYWRmY2NlNzE4ZTQyN2ZiY2E3Y2E3YmQ0MDJmMmMyIiwiOWIyOGM4MTBjMjBiNDJlMjg1NjQ5MTZlNTFmZmZlMmYiLCI5NWQwZDdlMmI5Yzk0ODY5OTJmMTk2NzIyODQzYTc5NCIsIjQ4OWIxOGZkNGRmNTRmOTdiOWU1MTg1ZDFhZjZkMWM3IiwiZjFlODdlMDRkZTExNDk4OGFlMDc4M2ZjNDAzNzUyNjQiLCIyOWRkNmE0ZDY0YTA0NzNiYmUyMTc5ODk2OGI5NDgzNyJdLCJpc19zZWN0aW9uc19hY3RpdmF0ZWQiOnRydWUsInJlZnJlc2hfdG9rZW4iOiIifQ.IbE8X1-18xjSZgPnQ4MIL_u4J_kzfUDmiCFfk0R9yLz7cS6CKkKcJtE-bStAuQkyb0Y2QPRxoioPXJ9UrmPKvg62mGUh_qLkenjZijSLqnhDsGzs76Xwioz81JhMlAIQfOVEa06aRQgYgr668ChLsXrExGzHy_OQKUObr6dWwufF2UbryMI1dg25O8RfY92yZlyNrd9zlnNJx3BWcrq2Lo0BS1ukzXQR5r5wVtyS00fxiCnaRhX99FUrFJPqG2Wv7ZXbwMbNO7OYFn6S1Cw00QpjHKpz6Oem-ZbToOgznXRg1ecPGYKeRCDauDLy_mONuJUOotrtA8Bz_F6hGmtNQtoJtDk6gWwywTzRKMZw5n020g2g-CjlnmjsKjQMP9g_50L8LxuuTKRg9DKZAPC_KEUOnkSBC0LyG83gCRaDxzUkPjH77DlFgKNVXFxmjVWVIg2XUmtrSbO7hE7EcFza4tC3NwGOQn8verQaFrykU8X-fFES54Gvz6NaySiY2N_FBxz6QXYqlbEHsoSeRQRsPYelZ_23Mp64PYmUp7qxQvQ0-4Mp98hppk8mCM9d9kdNZV0KXbCvy4qsQAT5pgydf_fVWTwXrejNKYY6yP_6yGY-76PVgxQiKnObERzoYPfzP2t5pscc0Z_ugwu7j-9La_oFI14nDwRYAyt5CHDG698"
x-real-ip
"37.58.179.19"
x-transaction-id
"front:ifptmy4e7uo"

Request Content

Pretty

{
    "templateId": "0246345ae9e34e0e9bc2bfb20a6e7376",
    "showPrices": false,
    "customerId": "e8919dbc01f34f79ab22b9c434f114eb",
    "mode": null
}

Raw

{"templateId":"0246345ae9e34e0e9bc2bfb20a6e7376","showPrices":false,"customerId":"e8919dbc01f34f79ab22b9c434f114eb","mode":null}

Response

Response Headers

Header Value
cache-control
"no-cache, private"
content-type
"application/ld+json"
date
"Thu, 16 Oct 2025 14:04:30 GMT"
vary
"Accept"
x-debug-token
"b9c76d"

Cookies

Request Cookies

No request cookies

Response Cookies

No response cookies

Session

Session Metadata

No session metadata

Session Attributes

No session attributes

Flashes

Flashes

No flash messages were created.

Server Parameters

Server Parameters

Defined in .env

Key Value
API_BUSINESS_HOST
"http://dev.pol-api-business.pol-crm.com"
API_CRM_HOST
"http://dev.pol-api-crm.pol-crm.com"
API_GED_HOST
"http://dev.pol-api-ged.pol-crm.com"
API_LIVEO
"https://webservice.centrex.liveo.fr/ws/"
API_MIDDLEWARE_HOST
"https://pol-middleware"
API_NOTIFY_HOST
"http://dev.pol-api-notify.pol-crm.com"
API_PARAM_HOST
"http://dev.pol-api-param.pol-crm.com"
API_POL_MAILING
"http://mailing.sfi.fr/webservices"
API_POL_MAILING_V2
"https://dev.mailing.pol-crm.com/webservices"
API_SEARCH_HOST
"http://dev.pol-api-search.pol-crm.com"
API_SERVICE_PLENETUDE_HOST
"http://dev.plenetude.pol-crm.com"
API_USER_HOST
"http://dev.pol-api-user.pol-crm.com"
APP_ENV
"dev"
APP_SECRET
"61ff627c8e96e9ac55fc1926e4878f2e"
BDD_API_BUSINESS
"dev_pol_core"
BDD_API_CRM
"dev_pol_core"
BDD_API_GED
"dev_pol_core"
BDD_API_NOTIFY
"dev_pol_core"
BDD_API_PARAM
"dev_pol_core"
BDD_API_SEARCH
"dev_pol_core"
BDD_API_USER
"dev_pol_core"
BDD_MIDDLEWARE
"dev_pol_core"
BDD_SERVICE_PLENETUDE
"dev_pol_core"
BEGIN_DATE
"2024-01-01"
CORS_ALLOW_ORIGIN
"^https?://pol-(crm|prospect).localhost(:[0-9]+)?$"
DATABASE_URL
"mysql://dev_pol_core:VTgooWkhcjebxLPy8E2ycoTjytrULgNQ@127.0.0.1:3306/dev_pol_core"
END_DATE
"2025-01-31"
FRONT_URL
"https://pol-crm.localhost"
FTP_INTRANET_SFI_HOST
"preprod.intranet.sfimultimedia.com"
FTP_INTRANET_SFI_PASSWORD
"iAw453e?iAw453e?"
FTP_INTRANET_SFI_USER
"intranetpreprod"
GED_ABSOLUTE_DIRECTORY_PATH
"/var/www/pol-api-ged/application/data/ged"
GEONAME_API_TOKEN
"ceciestuntestpourSfi/0000"
IMPORT_ONDUPACK_PATH_FILE
"/httpdocs/app-pol-crm/dev/current/application/data/import_ondupack"
INSEE_API_SIRENE_KEY
"09afd2bf-050b-465e-afd2-bf050b865e20"
IS_MAINTENANCE
"false"
JWT_PASSPHRASE
"7de1072d7a8fcab69679c1892deb39a7"
JWT_PUBLIC_KEY
"%kernel.project_dir%/config/jwt/public.pem"
JWT_SECRET_KEY
"%kernel.project_dir%/config/jwt/private.pem"
JWT_WHITELIST_PATH
"%kernel.project_dir%/var/tokens"
MAILER_URL
"smtp://127.0.0.1:1025"
MAILING_ENV_USER
"depot_mailing_dev-xv42"
MESSENGER_TRANSPORT_DSN_MIDDLEWARE
"amqp://sfiweb:sfiwweb0000@127.0.0.1:5672/%2f/dev_middleware_messages"
MESSENGER_TRANSPORT_DSN_NOTIFY
"amqp://sfiweb:sfiwweb0000@127.0.0.1:5672/%2f/dev_notify_messages"
MESSENGER_TRANSPORT_DSN_SEARCH
"amqp://sfiweb:sfiwweb0000@127.0.0.1:5672/%2f/dev_messages"
MICROSOFT_GRAPH_API_CLIENT_ID
"3b7f02c4-aa14-4e54-a2b9-2ee1d5d17f8a"
MICROSOFT_GRAPH_API_CLIENT_SECRET
"FID8Q~zfFRP~Gw-85LpaCj0VqrrRr__HMGpI-drP"
MICROSOFT_GRAPH_API_NOTIFICATION_URL
"https://dev.app.pol-crm.com/api/microsoft-graph/outlook-subscription-configuration"
MICROSOFT_GRAPH_API_REDIRECT_URI
"https://dev.pol-crm.com/microsoft-graph"
MICROSOFT_GRAPH_API_SUBSCRIPTION_EXPIRED_AT
"+2 days"
MICROSOFT_GRAPH_API_TOKEN_LIFETIME
"+2 days"
MODULE_MICROSOFT_GRAPH_SECRET
"jqsFP7MjEx1FBe1138D3"
MONOLOG_APPLICATION_ENVIRONMENT
"dev"
MONOLOG_APPLICATION_NAME
"pol-middleware"
MONOLOG_SUBJECT
"[DEV][%level_name%] POL-MIDDLEWARE - %message%"
MONOLOG_TO_EMAIL
"polv3.log@sfi.fr"
MYSQL_DATABASE
"dev_pol_core"
MYSQL_HOST
"127.0.0.1"
MYSQL_PASSWORD
"VTgooWkhcjebxLPy8E2ycoTjytrULgNQ"
MYSQL_PORT
"3306"
MYSQL_USER
"dev_pol_core"
PREFIX_CUSTOMER_NAME_MAILING
"[DEV]"
REDIS_ENABLE_V4
"true"
REDIS_PREFIX
"dev"
REDIS_URL
"redis://127.0.0.1:6379"
SECURITY_ENABLE_TOKEN_WHITELIST
"0"
SENTRY_DSN
"https://99729cc06c8241e3b07e3f6ae9b6feec@sentry.sfimultimedia.com/9"
SENTRY_ENVIRONMENT
"dev"
SENTRY_PERFORMANCE_SAMPLE_RATE
"1.0"
SFI_MAILING_URL
"https://mailing.sfi.fr/webservices/recupererContactPol.php"
SFI_SSO_FORCE_CREDENTIALS
"87;707"
SFI_SSO_MAILING_HOST
"https://mailing.sfi.fr/webservices/sso.php"
SYSTEMUSER_0662705af65c48908b017d8fb0724bac_PASSWORD
"7G4k4WhQZDkkB5IGLRPcdfik5s58gf58f2g5s6W6T6BXfbYj2H_customer_newco"
SYSTEMUSER_0662705af65c48908b017d8fb0724bac_USERNAME
"system_0662705af65c48908b017d8fb0724bac"
SYSTEMUSER_customer_124_PASSWORD
"A6uraa5HQ87hY*unfx3$mr158!d7i*TX_customer_124"
SYSTEMUSER_customer_124_USERNAME
"system_customer_124"
SYSTEMUSER_customer_65_PASSWORD
"uBRJV4pUKP1wRk4iULwMnty93MPr4qr3Sod8jFlfJwZdURZB_customer_65"
SYSTEMUSER_customer_65_USERNAME
"system_customer_65"
SYSTEMUSER_customer_66_PASSWORD
"7G4k4WhQZDkkB5IGLRPcdfik3tOZfL4PVfs6W6T6BXfbYj2H_customer_66"
SYSTEMUSER_customer_66_USERNAME
"system_customer_66"
SYSTEMUSER_customer_98_PASSWORD
"wWZJwEgYjqLdPx77B1o9GR7r6r4Fvug82fmALJLvQCBjWD4G_customer_98"
SYSTEMUSER_customer_98_USERNAME
"system_customer_98"
SYSTEMUSER_e8919dbc01f34f79ab22b9c434f114eb_PASSWORD
"TPB5ccJCl4ZL5jurkpedelfwdEiYRt4g30xYM82"
SYSTEMUSER_e8919dbc01f34f79ab22b9c434f114eb_USERNAME
"system_e8919dbc01f34f79ab22b9c434f114eb"

Defined as regular env variables

Key Value
APP_DEBUG
"1"
CONTENT_LENGTH
"128"
CONTENT_TYPE
"application/json"
CONTEXT_DOCUMENT_ROOT
"/var/www/vhosts/app.pol-crm.com/httpdocs/app-pol-crm/dev/current/application/public"
CONTEXT_PREFIX
""
DOCUMENT_ROOT
"/var/www/vhosts/app.pol-crm.com/httpdocs/app-pol-crm/dev/current/application/public"
FCGI_ROLE
"RESPONDER"
GATEWAY_INTERFACE
"CGI/1.1"
HOME
"/var/www/vhosts/app.pol-crm.com"
HTTPS
"on"
HTTP_ACCEPT
"application/ld+json"
HTTP_ACCEPT_ENCODING
"gzip, deflate, br, zstd"
HTTP_ACCEPT_LANGUAGE
"fr-FR,fr;q=0.9,en-US;q=0.8,en;q=0.7"
HTTP_CONNECTION
"close"
HTTP_HOST
"dev.app.pol-crm.com"
HTTP_ORIGIN
"https://dev.pol-crm.com"
HTTP_PRIORITY
"u=1, i"
HTTP_REFERER
"https://dev.pol-crm.com/"
HTTP_SEC_CH_UA
""Google Chrome";v="141", "Not?A_Brand";v="8", "Chromium";v="141""
HTTP_SEC_CH_UA_MOBILE
"?0"
HTTP_SEC_CH_UA_PLATFORM
""Linux""
HTTP_SEC_FETCH_DEST
"empty"
HTTP_SEC_FETCH_MODE
"cors"
HTTP_SEC_FETCH_SITE
"same-site"
HTTP_USER_AGENT
"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"
HTTP_X_ACCEL_INTERNAL
"/internal-nginx-static-location"
HTTP_X_POL_AUTH
"Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE3NjA2MjM0MDIsImV4cCI6MTc2MDYyNzAwMiwicm9sZXMiOlsiUk9MRV9VU0VSIiwiUk9MRV9TVVBFUkFETUlOIiwiUk9MRV9BRE1JTiIsIlJPTEVfTU9EVUxFX01JQ1JPU09GVF9HUkFQSCIsIlJPTEVfTU9EVUxFX1BST0RVQ1QiLCJST0xFX01PRFVMRV9QUk9EVUNUX0NVU1RPTUlaRSIsIlJPTEVfTU9EVUxFX1FVT1RFX0xJTkUiLCJQUk9TUEVDVF9TSE9XIiwiUFJPU1BFQ1RfQ1VEIiwiQ09OVEFDVF9DVUQiLCJDT05UQUNUX1NIT1ciLCJUQVNLX1NIT1ciLCJUQVNLX0NVRCIsIlFVT1RFX1NIT1ciLCJRVU9URV9DVUQiLCJRVU9URV9SRUdFTkVSQVRFX1BSSUNFUyJdLCJsb2dpbiI6ImRlbW9wbGVuZXR1ZGUiLCJ1c2VyX2lkIjoiMWFlYjFiMDg5ZDE0NDM1NzhmM2QyZWNhMWY2YWJlYWYiLCJ1c2VyX2V4dGVybmFsX2lkIjoiMTY1MTc1NjUwMCIsImVtYWlsIjoiZ2VzdGlvbkFPc2FsbGFuY2hlc0Bncm91cGUtcGxlbmV0dWRlLmZyIiwiY3VzdG9tZXJfaWQiOiJlODkxOWRiYzAxZjM0Zjc5YWIyMmI5YzQzNGYxMTRlYiIsImN1c3RvbWVyX25hbWUiOiJHcm91cGUgUGzDqW7DqXR1ZGUiLCJjdXN0b21lcl9leHRlcm5hbF9pZCI6IjE2NDQ1OTM0OTciLCJjdXN0b21lcl9tYWlsaW5nX2lkIjoiMjU0IiwiZmlyc3RuYW1lIjoiR3VpbGxhdW1lIiwibGFzdG5hbWUiOiJTQVVUUk9OIiwibGl2ZW9Mb2dpbiI6bnVsbCwibGl2ZW9QYXNzd29yZCI6bnVsbCwiaGFzSW50cmFuZXQiOmZhbHNlLCJsYW5ndWFnZSI6IkZSIiwic2VjdGlvbnNfbGVhZGVkIjpbIkFHQiIsIkFHQiAtIFBMRU5FVFVERSIsIkFHQiAtIFBST0xZU0UiLCJBR0IgLSBQRVhJTiIsIkFHQiAtIFBFR0lNRSIsIkFHQiAtIFBSSU9TVVIiLCJEaXJlY3Rpb24gR8OpbsOpcmFsZSIsIkFHRyIsIkFHRyAtIFBST0xZU0UiLCJBR0cgLSBQRUdJTUUiLCJBR0cgLSBQTEVORVRVREUiLCJBR0cgLSBQTEVORVRVREUgLSBDb2xsYWJvcmF0ZXVyIiwiQUdHIC0gUFJJT1NVUiIsIkFHRyAtIFBFWElOIiwiQUdHIC0gUEVYSU4gLSBDb2xsYWJvcmF0ZXVyIiwiQUdDIiwiQUdDIC0gUFJJT1NVUiIsIkFHQyAtIFBST0xZU0UiLCJBR0MgLSBQRUdJTUUiLCJBR0MgLSBQTEVORVRVREUiLCJBR0MgLSBQRVhJTiIsIkFHQyAtIFBFWElOIC0gQ29sbGFib3JhdGV1ciIsIkFHViIsIkFHViAtIFBSSU9TVVIiLCJBR1YgLSBQRUdJTUUiLCJBR1YgLSBQUk9MWVNFIiwiQUdWIC0gUExFTkVUVURFIiwiQUdBIiwiQUdBIC0gUFJPTFlTRSIsIkFHQSAtIFBFWElOIiwiQUdBIC0gUEVHSU1FIiwiQUdBIC0gUFJJT1NVUiIsIkFHQSAtIFBMRU5FVFVERSIsIlJWSSIsIlJWSSAtIENWQyAvIFBMQiIsIlJWSSAtIEVudmlyb25uZW1lbnRhbCIsIlJWSSAtIENGTyAvIENGQSIsIkFHUyIsIkFHUyAtIFBFR0lNRSIsIkFHUyAtIFBMRU5FVFVERSIsIkFHUyAtIFBFWElOIiwiQUdTIC0gUFJPTFlTRSIsIkFHUyAtIFBSSU9TVVIiLCJBR0wiLCJBR0wgLSBQUk9MWVNFIiwiQUdMIC0gUFJJT1NVUiIsIkFHTCAtIFBMRU5FVFVERSIsIkFHTCAtIFBFWElOIiwiQUdMIC0gUEVYSU4gLSBDb2xsYWJvcmF0ZXVyIiwiQUdMIC0gUExFTkVUVURFIC0gMiIsIkFHTCAtIFBFR0lNRSJdLCJzZWN0aW9uc19tZW1iZXJzIjpbIjFhZWIxYjA4OWQxNDQzNTc4ZjNkMmVjYTFmNmFiZWFmIiwiMDY1OWU4Mjk0NDE2NDBhYmI0ZTc2ZTc0MWNmMDQzMTEiLCIwODU1YjIxMDdlODg0ZDU3YTUxNTcwY2QyYTk4YmZhMyIsIjBkMGQ4OTEyOWI4ZjRmODI4NTczN2QzZTJjYzRhMmEwIiwiNDczZDBjOWNjMjQ1NGEwOGJmYjYzZjgyZmNhY2I2NzYiLCI5ZmVkZmUxZWRiYjE0OTIzYWVmM2M2ZjZlZDhjZjJmZCIsImNlMTJhMjI1OTA1ZTQzZTNiZTUwMzk0ODRiNzFlNGViIiwiM2MzZmQ1NWFjYTQyNGUzYzhkYTUwYzdjOTQ2YmE4OWUiLCIyNTIyZGJlMzNjOTA0OTU0ODIxOTVhNjQwZjRiYTk0NiIsIjYyZWRhYjk5OTdkNTQyYTFhODgwNzdlMjFmZjU0NDIzIiwiYTUzY2Q3YWI0OGU0NGNhZmE0YmRjMzc2MDc1NWFiMTUiLCIwNjhkNTI1Y2ZmMjQ0NDlkODE4MjI3ZWFlNDRmZmRhYyIsIjQzZjFhNTM0N2Q2ZjRkODM5MDdkM2QzZDQ2Y2QyY2E0IiwiNTJlYzllNGQ4OTc2NGY5MjgyNDI1ZmU0NmFhN2MzOGYiLCJiZGU5Njk2NDJhNjQ0YjY1ODZmN2NiZGY2YjJmNDg4NiIsImM1OTliNWIwNzFhODQ2NjE4NzhjNGIzODQ5NjhlYjAzIiwiZTFiMzE2MGZlOGExNGJjNDg0ZWJkZDMwZDRkNGRhOTAiLCI2NDdjMDNhYTRjYmI0YmVlYTI2NzE3Yzc2MWZiMTVhNiIsIjliZjUyZDAzMjRhMTQxY2U5YjM3Mzk1ZmQ4NjQyYThhIiwiZjc5MWNhYzkzNTBhNDE4ZmI4YjA2NTI5YWIwNzcxMmUiLCIyMzRjOGJmZGM2MDg0OTljYjcyZmI0NGQwMDYyODNmOSIsIjhmOTkzMmVkNDNhMzRhNjZiYjM5MjA3M2E5OTk3ZWYyIiwiNTQ3MTU2YzI2MDFkNDQ0ZmE5ZjU2MWM3NGU5YmMwMWEiLCJkZWI2NjE3OWZhNTA0MzZmYmNkNjBlZWNiNTQ1NTIzYSIsImY3ZDgwOWQ4NmQ1ZjQ4NWI5NzkzZWIwN2VlNjc4N2ExIiwiODNlODA3ZmIxYTNkNGM4NTg0YWI2ZGE1YmY5YWFhNTYiLCJlZjk1OGVkMTJhNjU0ZDkwYWYzZWIwMmNkNjMxNjBiNyIsIjQ2NTdkYmQzNGY5NDRmMDdiMzA2MjViZmI4MmU5YzY0IiwiNjZkYjFmOWEwMmU5NDY4Zjk0ZDc0YmIzZmU1MWI5MTQiLCI2N2I0ZGI5MGRjYTY0MDg4YTEzYTNjMTBhOGU1NDgzOCIsIjg4YWU2ODM2YzFmMTQ0MTI5ODJiNmY3MTg0ZDY4MzViIiwiYzhhYjAxNDk0OTY4NGJjMWFkNzMzYTFkZGFmZTdjZTgiLCJmNDZhMjM2YTc5MGQ0MDYxODdmZjUxOTVlNGM0ZDdhNSIsImY1MDQ3YWYzMWVjMzRjODg4ZjkxYmVlZTNjOWFmYmQ0IiwiY2U0YzBkZmU4NWM0NDkzYzkwYzMzZGM1Mzk5MTQzOTgiLCJlOGZiYWVkZjNjZDc0ODBhOTY4YjI3OTUwMDZmNzRiNiIsImQ5ZjU1NGVkMjkyMjRhZWNhOTk4OTA4OGUyZmIyM2IwIiwiMWE3NDA3MDYyNTMwNDlhNWFkZGRiOTgxMmY0YzQ4NmUiLCI0ZWM4NDRlMTE1MGQ0ZjRiYTFhNDA4M2U0YmJkY2M4ZiIsIjU1NDY0ZTI0ZWIwMTRhNDlhYTU3NWNhNTcyZGFhYTkzIiwiODA5ZjZkZTQ2YThmNDk4YmI3MmNlZDEzNWI4NDdlNjUiLCJhYjk0YTA5YTM5NTc0NDZmYjkyOTEwNzM5YTcxZDBjMCIsImFmMWE4ZWFiNmFkNjQ1YTk5MzQ4NTBiNDljYmM3YjBkIiwiZDNhNzkyNmI4MzYzNDUxNjkyYjIxYjBiNzdlM2ViNDciLCJmNGU5OWQ3Yjc2OWI0ZjRiYWYxZGFjMDVjMTc1NGE3MCIsIjJkZmY5ZTc3MTA5ZjQ2MTA5MjIyNWU0OWU0YzJjNjBhIiwiMjIxNTZlMTQyYmM5NDgxNTg4MjhiMGQ3OTkwMTYzMGIiLCJhOTk3ZGFhM2IyYTY0ZTQxOTUyZjNkNDMyYTc0YzJiZCIsIjE4N2FmZTJjYTRiOTRmYzU4ZTFhNzJhNmVkNzY4N2JjIiwiN2Q1YWMxMjUxODAzNDQ2MTgyZTllNzkzYzdhOTkzYjciLCJhNTQ5NDhiN2NjM2I0NGNmOTYzNGNjZjRjNjVkYzk4OCIsIjc3ODM1ZDAyNTg5NTRlZjdiMjIxMDNiZjNkODdmY2Q4IiwiNzhkMzgxN2JjOTIzNGFhMDg4Y2FhN2IwZTU0OTU1ODciLCJhZTcyNWMwMDcwZjc0ZmI2YjdkZGRiNWUxOWRlYmI3MyIsImQxZGM0Yzg5MDY0ZDQ2MWY4ODFmOGNiMDljZWI1ZWU2IiwiOGEzZmMzMmQyYTg2NDBmNjgzMzMyZjFiMjhkOTY1YzIiLCJhMTliYmZlOTBhODc0YzIzYWFlNjgxYzUzYjc5OWMyMyIsIjFiYTcwYzQwYjQ1YjRkMGFhNTQxN2UyNTg4YmU3YWI0IiwiYzkwN2NmNWYzMjMxNGU0NjlmMjBhZjNlNTgwZWFkYTAiLCI0MjVlYzEyNjk4NTY0NzQ3YWZiYjg0OTc4M2ZkYTdlYyIsImJlNjE1Y2QzYjM3YjRkZjBiYjc1YjFjYzMzMDQ5ZGMyIiwiZjE0ZmMwZWU2MmFhNGEwNWI4Y2IyMTUxODdkNDVjNGYiLCIwYWYwZDhjMTk1MDM0MDkwOWYyMmZkMDJmOTQxNGYzZSIsImFhYWRmY2NlNzE4ZTQyN2ZiY2E3Y2E3YmQ0MDJmMmMyIiwiOWIyOGM4MTBjMjBiNDJlMjg1NjQ5MTZlNTFmZmZlMmYiLCI5NWQwZDdlMmI5Yzk0ODY5OTJmMTk2NzIyODQzYTc5NCIsIjQ4OWIxOGZkNGRmNTRmOTdiOWU1MTg1ZDFhZjZkMWM3IiwiZjFlODdlMDRkZTExNDk4OGFlMDc4M2ZjNDAzNzUyNjQiLCIyOWRkNmE0ZDY0YTA0NzNiYmUyMTc5ODk2OGI5NDgzNyJdLCJpc19zZWN0aW9uc19hY3RpdmF0ZWQiOnRydWUsInJlZnJlc2hfdG9rZW4iOiIifQ.IbE8X1-18xjSZgPnQ4MIL_u4J_kzfUDmiCFfk0R9yLz7cS6CKkKcJtE-bStAuQkyb0Y2QPRxoioPXJ9UrmPKvg62mGUh_qLkenjZijSLqnhDsGzs76Xwioz81JhMlAIQfOVEa06aRQgYgr668ChLsXrExGzHy_OQKUObr6dWwufF2UbryMI1dg25O8RfY92yZlyNrd9zlnNJx3BWcrq2Lo0BS1ukzXQR5r5wVtyS00fxiCnaRhX99FUrFJPqG2Wv7ZXbwMbNO7OYFn6S1Cw00QpjHKpz6Oem-ZbToOgznXRg1ecPGYKeRCDauDLy_mONuJUOotrtA8Bz_F6hGmtNQtoJtDk6gWwywTzRKMZw5n020g2g-CjlnmjsKjQMP9g_50L8LxuuTKRg9DKZAPC_KEUOnkSBC0LyG83gCRaDxzUkPjH77DlFgKNVXFxmjVWVIg2XUmtrSbO7hE7EcFza4tC3NwGOQn8verQaFrykU8X-fFES54Gvz6NaySiY2N_FBxz6QXYqlbEHsoSeRQRsPYelZ_23Mp64PYmUp7qxQvQ0-4Mp98hppk8mCM9d9kdNZV0KXbCvy4qsQAT5pgydf_fVWTwXrejNKYY6yP_6yGY-76PVgxQiKnObERzoYPfzP2t5pscc0Z_ugwu7j-9La_oFI14nDwRYAyt5CHDG698"
HTTP_X_REAL_IP
"37.58.179.19"
HTTP_X_TRANSACTION_ID
"front:ifptmy4e7uo"
PASSENGER_COMPILE_NATIVE_SUPPORT_BINARY
"0"
PASSENGER_DOWNLOAD_NATIVE_SUPPORT_BINARY
"0"
PATH
"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"
PHP_SELF
"/index.php"
QUERY_STRING
""
REDIRECT_HTTPS
"on"
REDIRECT_PASSENGER_COMPILE_NATIVE_SUPPORT_BINARY
"0"
REDIRECT_PASSENGER_DOWNLOAD_NATIVE_SUPPORT_BINARY
"0"
REDIRECT_SSL_TLS_SNI
"dev.app.pol-crm.com"
REDIRECT_STATUS
"200"
REDIRECT_URL
"/api/quote/753d0f24880b40db9a45aa5fe5f480d0/generatepdf"
REMOTE_ADDR
"37.58.179.19"
REMOTE_PORT
"39730"
REQUEST_METHOD
"GET"
REQUEST_SCHEME
"https"
REQUEST_TIME
1760623467
REQUEST_TIME_FLOAT
1760623467.1336
REQUEST_URI
"/api/quote/753d0f24880b40db9a45aa5fe5f480d0/generatepdf"
SCRIPT_FILENAME
"/var/www/vhosts/app.pol-crm.com/httpdocs/app-pol-crm/dev/current/application/public/index.php"
SCRIPT_NAME
"/index.php"
SERVER_ADDR
"185.18.171.8"
SERVER_ADMIN
"[no address given]"
SERVER_NAME
"dev.app.pol-crm.com"
SERVER_PORT
"443"
SERVER_PROTOCOL
"HTTP/1.0"
SERVER_SIGNATURE
"<address>Apache Server at dev.app.pol-crm.com Port 443</address>\n"
SERVER_SOFTWARE
"Apache"
SSL_TLS_SNI
"dev.app.pol-crm.com"
SYMFONY_DOTENV_VARS
"APP_ENV,APP_SECRET,BDD_API_BUSINESS,BDD_API_CRM,BDD_API_GED,BDD_API_NOTIFY,BDD_API_PARAM,BDD_API_SEARCH,BDD_API_USER,BDD_MIDDLEWARE,BDD_SERVICE_PLENETUDE,MYSQL_HOST,MYSQL_PORT,MYSQL_USER,MYSQL_PASSWORD,MYSQL_DATABASE,DATABASE_URL,MAILER_URL,CORS_ALLOW_ORIGIN,JWT_SECRET_KEY,JWT_PUBLIC_KEY,JWT_PASSPHRASE,JWT_WHITELIST_PATH,MONOLOG_SUBJECT,MONOLOG_TO_EMAIL,MONOLOG_APPLICATION_NAME,MONOLOG_APPLICATION_ENVIRONMENT,MESSENGER_TRANSPORT_DSN_SEARCH,MESSENGER_TRANSPORT_DSN_NOTIFY,MESSENGER_TRANSPORT_DSN_MIDDLEWARE,SENTRY_DSN,SENTRY_ENVIRONMENT,SENTRY_PERFORMANCE_SAMPLE_RATE,IS_MAINTENANCE,SECURITY_ENABLE_TOKEN_WHITELIST,REDIS_ENABLE_V4,REDIS_URL,API_BUSINESS_HOST,API_CRM_HOST,API_GED_HOST,API_NOTIFY_HOST,API_PARAM_HOST,API_SEARCH_HOST,API_USER_HOST,API_MIDDLEWARE_HOST,API_SERVICE_PLENETUDE_HOST,API_POL_MAILING,API_POL_MAILING_V2,API_LIVEO,MAILING_ENV_USER,FTP_INTRANET_SFI_HOST,FTP_INTRANET_SFI_USER,FTP_INTRANET_SFI_PASSWORD,SFI_SSO_FORCE_CREDENTIALS,MICROSOFT_GRAPH_API_REDIRECT_URI,MICROSOFT_GRAPH_API_CLIENT_ID,MICROSOFT_GRAPH_API_NOTIFICATION_URL,MICROSOFT_GRAPH_API_CLIENT_SECRET,MICROSOFT_GRAPH_API_SUBSCRIPTION_EXPIRED_AT,MODULE_MICROSOFT_GRAPH_SECRET,INSEE_API_SIRENE_KEY,GEONAME_API_TOKEN,GED_ABSOLUTE_DIRECTORY_PATH,IMPORT_ONDUPACK_PATH_FILE,FRONT_URL,REDIS_PREFIX,SFI_SSO_MAILING_HOST,SFI_MAILING_URL,PREFIX_CUSTOMER_NAME_MAILING,MICROSOFT_GRAPH_API_TOKEN_LIFETIME,SYSTEMUSER_e8919dbc01f34f79ab22b9c434f114eb_USERNAME,SYSTEMUSER_e8919dbc01f34f79ab22b9c434f114eb_PASSWORD,SYSTEMUSER_customer_65_USERNAME,SYSTEMUSER_customer_65_PASSWORD,SYSTEMUSER_customer_66_USERNAME,SYSTEMUSER_customer_66_PASSWORD,SYSTEMUSER_customer_124_USERNAME,SYSTEMUSER_customer_124_PASSWORD,SYSTEMUSER_0662705af65c48908b017d8fb0724bac_USERNAME,SYSTEMUSER_0662705af65c48908b017d8fb0724bac_PASSWORD,SYSTEMUSER_customer_98_USERNAME,SYSTEMUSER_customer_98_PASSWORD,BEGIN_DATE,END_DATE"
USER
"app-pol-crm"
proxy-nokeepalive
"1"

Parent Request

Return to parent request (token = eafe35)

Key Value
_controller
"App\Controller\Quote\QuoteController::generateQuotePdf"
_firewall_context
"security.firewall.map.context.api"
_links
Fig\Link\GenericLinkProvider {#7079
  -links: [
    "00000000779c40cb000000000f100361" => Fig\Link\Link {#7080
      -href: "https://dev.app.pol-crm.com/api/docs.jsonld"
      -rel: [
        "http://www.w3.org/ns/hydra/core#apiDocumentation" => true
      ]
      -attributes: []
    }
  ]
}
_route
"quote_generate_pdf"
_route_params
[
  "id" => "753d0f24880b40db9a45aa5fe5f480d0"
]
_stopwatch_token
"415cbb"
id
"753d0f24880b40db9a45aa5fe5f480d0"