Covivo/mobicoop

View on GitHub
api/templates/carpool/export/carpool_export.html.twig

Summary

Maintainability
Test Coverage
<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title> {{ "listCrapoolPayments"|trans }}</title>


      </head>
      <body>
        <div class="container container-pdf">

            <div class="row">
                <img src="{{api_env('CARPOOL_EXPORT_BANNER_URL')}}" alt="" style="width:auto;max-width:1000px;height:auto;max-height:250px;border-style:none;" />
            </div>

            {# header #}
            <div>
                <div>
                    <h1 style="font-family:Roboto,sans-serif;text-align:center;">{{ "carpoolRealizedBy"|trans }}
                        <br>{{ dataToPdf.userName }}
                        <br>{{ "onTheSite"|trans }}
                        {{ dataToPdf.appName }}
                        <br>
                    </h1>
                    <h2 style="font-family:Roboto,sans-serif;text-align:right;">{{ dataToPdf.date|format_datetime('full', 'none', locale=locale) }}</h2>
            </div>

            {# body #}
            {% if dataToPdf.carpoolExports|length > 0 %}
            <div >
                <table style="border: 0px;" width="100%">
                    <tr>
                        <td style="text-align: center" width="50%">
                            {# sum paid #}
                            {% if dataToPdf.totalDistance %}
                                <p style="font-family:Roboto,sans-serif;text-align:center;">Distance totale covoiturée : {{ dataToPdf.totalDistance }} km</p>
                            {% endif %}
                        </td>
                        <td style="text-align: center" width="50%">
                            {# sum received #}
                            {% if dataToPdf.savedCo2 %}
                                <p style="font-family:Roboto,sans-serif;text-align:center;">CO<sub>2</sub> économisé : {{ dataToPdf.savedCo2 }} Kg</p>
                            {% endif %}
                        </td>
                    </tr>
                    <tr>
                        <td style="text-align: center" width="50%">
                            {# sum paid #}
                            {% if dataToPdf.paid %}
                                <p style="font-family:Roboto,sans-serif;text-align:center;">{{ "totalPaid"|trans }} {{ dataToPdf.paid }} €</p>
                            {% else %}
                                <p style="font-family:Roboto,sans-serif;text-align:center;">{{ "totalPaid"|trans }} 0 €</p>
                            {% endif %}
                        </td>
                        <td style="text-align: center" width="50%">
                            {# sum received #}
                            {% if dataToPdf.received %}
                                <p style="font-family:Roboto,sans-serif;text-align:center;">{{ "totalReceived"|trans }} {{ dataToPdf.received }} €</p>
                             {% else %}
                                <p style="font-family:Roboto,sans-serif;text-align:center;">{{ "totalReceived"|trans }} 0 €</p>
                            {% endif %}
                        </td>
                    </tr>
                </table>
                <div>
                    {# tax info #}
                    {% if dataToPdf.tax %}
                        <p style="font-family:Roboto,sans-serif;text-align:right;color:red;">{{ "taxInfo"|trans }}</p>
                    {% endif %}
                </div>
                 {% set refYear = null %}
                {% set alreadyOpen = false %}
                {% set nb = 1 %}
                {% for carpoolExport in dataToPdf.carpoolExports %}

                    {% if refYear != carpoolExport.date|date("Y") %}

                        {#Not the first loop, we have to close the previous table#}
                        {% if alreadyOpen == true %}
                            </table>
                            {% set nb = 1 %}
                        {% endif %}

                        <table style="font-family:Roboto,sans-serif; border: 1px solid black;padding: 10px; border-collapse: collapse;">

                        <h3>{{ carpoolExport.date|date("Y") }}</h3>
                            {# thead #}
                            <tr>
                                <th style="border: 1px solid black;padding: 10px;">#</th>
                                <th style="border: 1px solid black;padding: 10px;">{{ "date"|trans }}</th>
                                <th style="border: 1px solid black;padding: 10px;">{{ "role"|trans }}</th>
                                <th style="border: 1px solid black;padding: 10px;">{{ "carpooler"|trans }}</th>
                                <th style="border: 1px solid black;padding: 10px;">{{ "pickUpLocality"|trans }}</th>
                                <th style="border: 1px solid black;padding: 10px;">{{ "dropOffLocality"|trans }}</th>
                                <th style="border: 1px solid black;padding: 10px;">{{"distance"|trans}}</th>
                                <th style="border: 1px solid black;padding: 10px;">{{ "amount"|trans }}</th>
                                {% if dataToPdf.paymentActive %}
                                <th style="border: 1px solid black;padding: 10px;">{{ "typeOfpayment"|trans }}</th>
                                {% endif %}
                                <th style="border: 1px solid black;padding: 10px;">{{ "certified"|trans }} (<a href="https://covoiturage.beta.gouv.fr/tiers-de-confiance/">{{ "seeProofsClasses"|trans }}</a>)</th>                            </tr>
                            {# tbody #}

                            {% set refYear = carpoolExport.date|date("Y") %}
                            {% set alreadyOpen = true %}
                    {% endif %}

                        <tr>
                            <td style="color: grey; border: 1px solid black;padding: 10px;">{{nb}}</td>
                            {# Date #}
                            <td style="border: 1px solid black;padding: 10px;">{{ carpoolExport.date|date("d/m/Y") }}</td>
                            {# Role #}
                            {% if (carpoolExport.role == 1 or carpoolExport.role == 3) %}
                                <td style="border: 1px solid black;padding: 10px;">{{ "driver"|trans }}</td>
                            {% else  %}
                                <td style="border: 1px solid black;padding: 10px;">{{ "passenger"|trans }}</td>
                            {% endif %}
                            {# carpooler name #}
                            {% if (carpoolExport.carpooler.status != 4) %}
                                <td style="border: 1px solid black;padding: 10px;">{{ carpoolExport.carpooler.givenName }} {{ carpoolExport.carpooler.shortFamilyName }}</td>
                            {% else %}
                                <td style="border: 1px solid black;padding: 10px;">{{ "deleted"|trans }}</td>
                            {% endif %}
                            {# pickup locality #}
                            {% if (carpoolExport.pickUp) %}
                                <td style="border: 1px solid black;padding: 10px;">{{ carpoolExport.pickUp }}</td>
                            {% else %}
                                <td style="border: 1px solid black;padding: 10px;">{{ "deleted"|trans }}</td>
                            {% endif %}

                            {# dropOff locality #}
                            {% if (carpoolExport.dropOff) %}
                                <td style="border: 1px solid black;padding: 10px;">{{ carpoolExport.dropOff }}</td>
                            {% else %}
                                <td style="border: 1px solid black;padding: 10px;">{{ "deleted"|trans }}</td>
                            {% endif %}

                            {# distance #}
                            {% if (carpoolExport.distance) %}
                                <td style="border: 1px solid black;padding: 10px;">{{ carpoolExport.distance }}km</td>
                            {% else %}
                                <td style="border: 1px solid black;padding: 10px;">{{ "deleted"|trans }}</td>
                            {% endif %}

                            {# amount paid/received #}
                            {% if carpoolExport.Amount %}
                                <td style="border: 1px solid black;padding: 10px;">{{ carpoolExport.Amount }}€</td>
                            {% else %}
                                <td style="border: 1px solid black;padding: 10px;"></td>
                            {% endif %}
                            {# type of payment #}
                            {% if dataToPdf.paymentActive %}
                                {% if (carpoolExport.mode == 1) %}
                                    <td style="border: 1px solid black;padding: 10px;">{{ "onLinePayment"|trans }}</td>
                                {% elseif (carpoolExport.mode == 2) %}
                                    <td style="border: 1px solid black;padding: 10px;">{{ "directPayment"|trans }}</td>
                                {% else %}
                                    <td style="border: 1px solid black;padding: 10px;">{{ "paymentNotDone"|trans }}</td>
                                {% endif %}
                            {% endif %}
                            {# certification #}
                            <td style="border: 1px solid black;padding: 10px;">{% if (carpoolExport.certification) %}{{ carpoolExport.certification }}{% endif %}</td>
                        </tr>
                        {% set nb = nb + 1 %}
                {% endfor %}
            </table>
            </div>
            {% else %}
                <div>
                    <h3 style="font-family:Roboto,sans-serif;text-align:center;color:red">Aucun covoiturage pour la période sélectionnée</h3>
                </div>
            {% endif %}
        </div>
    </body>
</html>