@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
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
Campagnes
{{ $variable }} : leurs agents ne verront aucune bannière.
{{ $withoutBanner->join(', ') }}| Bannière | Campagne | Période | Destinataires | Priorité | État | {{ $isAdmin ? 'Active' : '' }} |
|---|---|---|---|---|---|---|
|
@if (in_array($c->id, $missing, true))
image manquante
{{ $c->image_path }}
@else
|
{{ $c->name }}
@if ($c->link_url)
{{ \Illuminate\Support\Str::limit(preg_replace('#^https?://(www\.)?#', '', $c->link_url), 38) }}
@else
Sans lien
@endif
|
{{ $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
|
|
|
Aucune campagneLes signatures partent sans bannière. Créez une campagne pour en afficher une pendant une période donnée. | ||||||