31 lines
1.1 KiB
PHP
31 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Admin;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use App\Models\Assignment;
|
|
use App\Models\Campaign;
|
|
use App\Models\DirectoryGroup;
|
|
use App\Models\DirectoryUser;
|
|
use App\Models\Template;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\View\View;
|
|
|
|
/** Tableau de bord du lot 0 : état de la synchro et volumétrie. Les écrans d'édition arrivent aux lots 1 et 2. */
|
|
class DashboardController extends Controller
|
|
{
|
|
public function __invoke(Request $request): View
|
|
{
|
|
$tenant = $request->user()->tenant;
|
|
|
|
return view('admin.dashboard', [
|
|
'tenant' => $tenant,
|
|
'users' => DirectoryUser::where('tenant_id', $tenant->id)->count(),
|
|
'groups' => DirectoryGroup::where('tenant_id', $tenant->id)->withCount('members')->orderBy('display_name')->get(),
|
|
'templates' => Template::where('tenant_id', $tenant->id)->count(),
|
|
'assignments' => Assignment::where('tenant_id', $tenant->id)->count(),
|
|
'campaigns' => Campaign::running()->where('tenant_id', $tenant->id)->count(),
|
|
]);
|
|
}
|
|
}
|