{% extends 'admin/base.html.twig' %} {# Aperçu de la définition de référence des formules (SubscriptionPlanSync) : pour chaque formule, ce qui changerait champ par champ, puis application aux formules cochées. Équivalent de `app:init-subscription-plans`. Variables : rows (code, name, exists, changes[label, current, target]) #} {% block title %}Définition de référence des formules{% endblock %} {% block breadcrumb %}Super Administration Plans tarifaires Définition de référence{% endblock %} {% block stylesheets %} {{ parent() }} {% endblock %} {% block body %}
Plans tarifaires

Définition de référence des formules

La définition des formules Starter, Basic et Pro écrite dans le code (prix, limites, crédits IA, puces des pages tarifs). Voici ce qui changerait en base si on l'appliquait — l'équivalent de la commande app:init-subscription-plans, sans terminal.

{% for type, messages in app.flashes %} {% for message in messages %} {% endfor %} {% endfor %} {% set pending = rows|filter(r => r.changes is not empty) %} {% if pending is empty %}
Les formules en base sont déjà conformes à la définition de référence : rien à appliquer.
{% else %}
À lire avant d'appliquer : les valeurs barrées, y compris celles retouchées à la main dans l'administration (prix, descriptions, puces), sont remplacées. Décochez une formule pour la laisser telle quelle. Les identifiants Stripe ne sont jamais modifiés. Un changement de prix vaut pour les nouveaux abonnements : ceux déjà en cours chez Stripe gardent leur prix.
{% endif %}
{% for row in rows %}
{% if not row.exists %} Absente : sera créée {% elseif row.changes is empty %} Conforme {% else %} {{ row.changes|length }} champ{{ row.changes|length > 1 ? 's' : '' }} à changer {% endif %}
{% if row.changes is not empty and row.exists %} {% for change in row.changes %} {% endfor %}
ChampEn baseAprès
{{ change.label }} {{ change.current }} {{ change.target }}
{% endif %}
{% endfor %}
Annuler
{% endblock %}