{% extends 'admin/base.html.twig' %} {% block title %}Factures d'abonnement{% endblock %} {% block body %}

Factures d'abonnement

Statistiques
{# Compteurs par statut #}
{% set compteurs = [ { cle: 'paid', libelle: 'Payées', valeur: stats.paid, classe: 'success' }, { cle: 'pending', libelle: 'En attente', valeur: stats.pending, classe: 'warning' }, { cle: 'overdue', libelle: 'En retard', valeur: stats.overdue, classe: 'danger' }, { cle: 'canceled', libelle: 'Annulées', valeur: stats.canceled, classe: 'secondary' }, { cle: 'refunded', libelle: 'Remboursées', valeur: stats.refunded, classe: 'info' } ] %} {% for compteur in compteurs %}
{{ compteur.libelle }}
{{ compteur.valeur }}
{% endfor %}
Ce mois-ci
{{ monthRevenue|number_format(2, ',', ' ') }} €

Toutes les factures

{{ invoices|length }} facture(s)
{% if invoices is empty %} {# État vide : dire pourquoi c'est vide, pas laisser un tableau nu. #}

Aucune facture émise pour l'instant.

Les factures apparaissent ici dès qu'un abonnement payant est facturé.

{% else %}
{% for invoice in invoices %} {% endfor %}
Numéro Client Émise le Échéance Montant TTC Statut Actions
{{ invoice.invoiceNumber }} {{ invoice.user ? invoice.user.email : '—' }} {{ invoice.issueDate ? invoice.issueDate|date('d/m/Y') : '—' }} {{ invoice.dueDate ? invoice.dueDate|date('d/m/Y') : '—' }} {{ invoice.totalAmount|number_format(2, ',', ' ') }} {{ invoice.currency|default('EUR') == 'EUR' ? '€' : invoice.currency }} {% set etats = { 'paid': { classe: 'success', libelle: 'Payée' }, 'pending': { classe: 'warning', libelle: 'En attente' }, 'overdue': { classe: 'danger', libelle: 'En retard' }, 'canceled': { classe: 'secondary', libelle: 'Annulée' }, 'refunded': { classe: 'info', libelle: 'Remboursée' } } %} {% set etat = etats[invoice.status]|default({ classe: 'secondary', libelle: invoice.status }) %} {{ etat.libelle }} Voir PDF
{% endif %}
{% endblock %}