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

Campagnes

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. @unless ($isAdmin) Vous préparez les campagnes ; un administrateur les active. @endunless

Nouvelle campagne
@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{{ $isAdmin ? 'Active' : '' }}
@if (in_array($c->id, $missing, true)) image manquante
{{ $c->image_path }}
@else {{ $c->alt_text }} @endif
{{ $c->name }} {{ $period($c->starts_at) }}
au {{ $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
@if ($isAdmin) @if ($status !== 'ended')
@csrf
@endif
@csrf @method('DELETE')
@endif

Aucune campagneLes signatures partent sans bannière. Créez une campagne pour en afficher une pendant une période donnée.

Nouvelle campagne

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