{% extends '@App/app.html.twig' %} {% block title %}Campagnes d'entretien{% endblock %} {% block page_header %}{% endblock %} {% block content %} {% set status_map = { draft: {label: 'Brouillon', tone: 'muted'}, scheduled: {label: 'Planifiée', tone: 'info'}, launched: {label: 'Lancée', tone: 'warning'}, in_progress: {label: 'En cours', tone: 'warning'}, closed: {label: 'Clôturée', tone: 'success'}, cancelled: {label: 'Annulée', tone: 'danger'} } %}

Campagnes d'entretien

Planifiez, lancez et suivez les campagnes d'entretien de vos équipes.

Total {{ campaign_stats.total|default(campaigns|length) }} campagnes créées Pilotage RH
Brouillons {{ campaign_stats.draft|default(0) }} campagnes à préparer À compléter
Actives {{ campaign_stats.active|default(0) }} planifiées ou en cours Suivi en cours
Clôturées {{ campaign_stats.closed|default(0) }} campagnes terminées Historique
{% if filters|filter(value => value is not empty)|length %} {% endif %}
{% for campaign in campaigns %} {% set status = status_map[campaign.status]|default({label: campaign.status|replace({'_': ' '})|capitalize, tone: 'muted'}) %} {% else %} {% endfor %}
Campagne Type et modèle Période Statut Création Actions
{{ campaign.nom }} {{ campaign.description ? campaign.description|slice(0, 70) ~ (campaign.description|length > 70 ? '…' : '') : 'Aucune description' }}
{{ campaign.type.nom }}
{{ campaign.template ? campaign.template.nom : 'Aucun modèle associé' }}
{{ campaign.startDate ? campaign.startDate|date('d/m/Y') : 'À définir' }}
{{ campaign.endDate ? 'au ' ~ campaign.endDate|date('d/m/Y') : 'Date de fin non définie' }}
{{ status.label }}
{{ campaign.createdAt|date('d/m/Y') }}
{{ campaign.createdAt|date('H:i') }}
Aucune campagne trouvée Ajustez les filtres ou créez une nouvelle campagne d'entretien.
{% endblock %}