@extends('layouts.app') @section('title', 'Campagnes — Signatures CABM') @section('content') @php $isAdmin = auth()->user()->hasRole('admin'); $tz = config('signature.timezone'); $badge = ['running' => 'ok', 'scheduled' => '', 'inactive' => 'warn', 'ended' => '']; $variable = '{'.'{'.'{banniere}'.'}'.'}'; $period = fn ($d) => $d->timezone($tz)->format('d/m/Y H:i'); @endphp

Campagnes

Nouvelle campagne

Une campagne ajoute une bannière sous la signature pendant une période, pour tous les agents ou pour certains groupes AD. Une seule bannière par signature : si plusieurs campagnes en cours concernent un agent, celle dont la priorité est la plus haute l'emporte (à égalité : la plus ancienne). La bannière n'apparaît que dans la signature complète, pas dans la signature courte des réponses, et seulement si le template contient {{ $variable }}. @unless ($isAdmin) Vous préparez les campagnes ; un administrateur les active. @endunless

@if ($withoutBanner->isNotEmpty())
Ces templates publiés ne contiennent pas {{ $variable }} : leurs agents ne verront aucune bannière — {{ $withoutBanner->join(', ') }}.
@endif
@forelse ($campaigns as $c) @php $status = $c->status(); $locked = $c->active && ! $isAdmin; @endphp @empty @endforelse
BannièreCampagnePériodeDestinatairesPrioritéÉtat
@if (in_array($c->id, $missing, true)) image manquante
{{ $c->image_path }}
@else {{ $c->alt_text }} @endif
{{ $c->name }}
@if ($c->link_url) Lien : {{ \Illuminate\Support\Str::limit($c->link_url, 50) }} @else Sans lien @endif
{{ $period($c->starts_at) }}
→ {{ $period($c->ends_at) }}
{{ $c->groups->isEmpty() ? 'Tous les agents' : $c->groups->pluck('display_name')->join(', ') }} {{ $c->priority }} {{ \App\Models\Campaign::STATUSES[$status] }} @if ($status === 'running')
@if (($reach[$c->id] ?? 0) > 0) vue par {{ $reach[$c->id] }} agent{{ $reach[$c->id] > 1 ? 's' : '' }} @else aucun agent : masquée par une campagne plus prioritaire, ou groupes vides @endif
@elseif ($status === 'inactive')
{{ $isAdmin ? 'à activer' : 'en attente d\'un administrateur' }}
@endif
{{ $locked ? 'Voir' : 'Modifier' }} @if ($isAdmin) @if ($status !== 'ended')
@csrf
@endif
@csrf @method('DELETE')
@endif
Aucune campagne. Les signatures sont envoyées sans bannière.

Vérifiez la bannière reçue par un agent précis dans l'onglet Agents.

@endsection