{# templates/entreprise/loyer_mensuel/paiement_new.html.twig #} {% extends 'entreprise/entreprise_base.html.twig' %} {% block title %}Enregistrer Paiement | {{ loyer_mensuel.location.locataire.nomComplet }}{% endblock %} {% block body %} {# --- LOGIQUE DE CONTRÔLE & VARIABLES --- #} {% set currency = app.user.entreprise.devise ? app.user.entreprise.devise.symbole : 'F.CFA' %} {% set totalDu = loyer_mensuel.totalDu | default(0) %} {% set montantPaye = loyer_mensuel.montantPaye | default(0) %} {% set resteAPayer = totalDu - montantPaye %}
{# ... (En-tête et Section Infos inchangés) ... #}
{# --- SECTION RÉSUMÉ --- #}
{# align-items-center pour bien centrer verticalement le contenu réduit #} {# --- LOCATAIRE (Taille réduite) --- #}
Locataire
{{ loyer_mensuel.location.locataire.nomComplet }}
{# --- BIEN IMMOBILIER (Taille réduite) --- #}
Bien Immobilier
{{ loyer_mensuel.location.appartement.immeuble.titre }}
{{ loyer_mensuel.location.appartement.titre }}
{# --- RESTE À ENCAISSER (Plus compact) --- #}
Reste à encaisser
{{ resteAPayer | |format_money }}
Nouveau versement
{{ form_start(form, {'attr': {'id': 'payment-form', 'class': 'needs-validation'}}) }}
{# Ajout de l'attribut max et d'un ID pour le JS #} {{ form_widget(form.montant, { 'attr': { 'class': 'form-control', 'placeholder': '0.00', 'max': resteAPayer, 'data-max': resteAPayer } }) }} {{ currency }}
{# Message d'erreur dynamique #}
Le montant ne peut pas dépasser le solde restant ({{ resteAPayer |format_money }}.
{{ form_errors(form.montant) }}
{{ form_widget(form.datePaiement, {'attr': {'class': 'form-control form-control-lg shadow-sm'}}) }}
{{ form_widget(form.methodePaiement, {'attr': {'class': 'form-select form-select-lg shadow-sm'}}) }}
Annuler
{{ form_end(form) }}
{# ... (Colonne droite inchangée) ... #}
{% endblock %}