{% extends 'base.html.twig' %} {% block title %}{{ user.fullName }} - {{ isAdmin|default(true) ? 'Admin' : 'Utilisateurs' }}{% endblock %} {% block body %} {# Couleurs outils : pilotées par les globals tool_colors et tool_color_hex (source : Tool entity) #} {# ================================================================ BREADCRUMB ================================================================ #}
Abonnement
{% if plan and not plan.isFree() and sub.isActive() %}{{ plan.name }}
{{ sub.isAnnual() ? 'Annuel' : 'Mensuel' }} · {{ sub.isAnnual() ? plan.priceAnnual|number_format(2, '.', '') : plan.priceMonthly|number_format(2, '.', '') }}€/mois
{% elseif user.isB2B() %}Entreprise
{{ user.company ? user.company.name : 'B2B' }}
{% else %}Freemium
Plan gratuit
{% endif %}Un nouveau mot de passe aléatoire sera généré et envoyé par email à {{ user.email }}.
L'ancien mot de passe ne sera plus valide.
{% endblock %} {% block footer %} {% endblock %} {% endembed %} {# MODAL: RENVOYER EMAIL DE VÉRIFICATION #} {% if not user.isEmailVerified %} {% embed '_molecules/modal/modal.html.twig' with { id: 'modal-resend-verification', title: 'Renvoyer l\'invitation', subtitle: user.fullName, variant: 'primary', size: 'md' } %} {% block body %}Un nouvel email d'invitation sera envoyé à {{ user.email }} avec un lien valable 24 heures pour activer son compte.
{% endblock %} {% block footer %} {% endblock %} {% endembed %} {% endif %} {# MODAL: TOGGLE STATUT #} {% embed '_molecules/modal/modal.html.twig' with { id: 'modal-toggle-status', title: user.isActive ? 'Désactiver le compte' : 'Activer le compte', subtitle: user.fullName, variant: user.isActive ? 'warning' : 'success', size: 'md' } %} {% block body %}{% if user.isActive %} L'utilisateur {{ user.fullName }} ne pourra plus se connecter à la plateforme. {% else %} L'utilisateur {{ user.fullName }} pourra à nouveau se connecter à la plateforme. {% endif %}
Cette action prendra effet immédiatement.
{% endblock %} {% block footer %} {% endblock %} {% endembed %} {# MODAL: SUPPRESSION DU COMPTE — admin uniquement #} {% if isAdmin %} {% include 'admin/users/_modal_delete.html.twig' with { user: user, modal_id: 'modal-delete-user' } only %} {% endif %} {% endif %} {# ================================================================ MODAL: ÉDITER LES TOKENS RESTANTS ================================================================ #} {% if isAdmin and userToken %} {% embed '_molecules/modal/modal.html.twig' with { id: 'modal-edit-remaining-tokens', title: 'Tokens restants', subtitle: user.fullName, variant: 'primary', size: 'md' } %} {% block body %}Solde actuel : {{ userToken.tokensRemaining|number_format(0, ',', ' ') }} tokens ({{ userToken.tokenUsed|number_format(0, ',', ' ') }} consommés)
{% endblock %} {% block footer %} {% endblock %} {% endembed %} {% endif %} {# Historique des actions admin (admin uniquement) #} {% if isAdmin %}