This commit is contained in:
mrKamoo
2026-09-30 16:27:32 +02:00
commit 310724708f
147 changed files with 21327 additions and 0 deletions
@@ -0,0 +1,55 @@
@extends('layouts.app')
@section('title', 'Back-office — Signatures CABM')
@section('content')
<div class="card">
<h1>{{ $tenant->name }}</h1>
<div class="row" style="margin-bottom:12px">
<p class="muted" style="margin:0">
Dernière synchro annuaire :
{{ $tenant->last_sync_at?->timezone('Europe/Paris')->format('d/m/Y H:i') ?? 'jamais' }}
— {{ $tenant->last_sync_status ?? 'n/a' }}
<br>Automatique toutes les 15 minutes (incrémentale) et chaque nuit (complète).
</p>
<span class="spacer"></span>
@if (auth()->user()->hasRole('admin'))
<form method="post" action="{{ route('admin.sync') }}" class="row" id="sync-form">
@csrf
<label class="muted" style="margin:0;font-weight:400">
<input type="checkbox" name="full" value="1"> complète
</label>
<button class="btn" type="submit" id="sync-btn">Synchroniser maintenant</button>
</form>
@endif
</div>
<div class="grid">
<div><div class="stat">{{ $users }}</div><div class="muted">agents synchronisés</div></div>
<div><div class="stat">{{ $groups->count() }}</div><div class="muted">groupes signature_*</div></div>
<div><div class="stat"><a href="{{ route('admin.templates.index') }}">{{ $templates }}</a></div><div class="muted">templates</div></div>
<div><div class="stat">{{ $assignments }}</div><div class="muted">affectations</div></div>
<div><div class="stat">{{ $campaigns }}</div><div class="muted">campagnes en cours</div></div>
</div>
</div>
<div class="card">
<h2>Groupes synchronisés</h2>
<table class="list">
<thead><tr><th>Groupe</th><th>Membres (transitifs)</th></tr></thead>
<tbody>
@forelse ($groups as $g)
<tr><td>{{ $g->display_name }}</td><td>{{ $g->members_count }}</td></tr>
@empty
<tr><td colspan="2" class="muted">Aucun groupe : lancez « php artisan signature:sync --full ».</td></tr>
@endforelse
</tbody>
</table>
</div>
@endsection
@push('scripts')
<script>
document.getElementById('sync-form')?.addEventListener('submit', () => {
const b = document.getElementById('sync-btn');
b.disabled = true;
b.textContent = 'Synchronisation en cours…';
});
</script>
@endpush