2026-05-26 08:14:29 +02:00
|
|
|
<?php
|
|
|
|
|
|
2026-05-28 09:34:28 +02:00
|
|
|
declare(strict_types=1);
|
|
|
|
|
|
2026-05-26 08:14:29 +02:00
|
|
|
namespace App\Http\Controllers;
|
|
|
|
|
|
2026-05-28 09:34:28 +02:00
|
|
|
use App\Models\Documento;
|
|
|
|
|
use App\Models\Evento;
|
2026-05-26 08:14:29 +02:00
|
|
|
use App\Models\Gruppo;
|
2026-05-28 09:34:28 +02:00
|
|
|
use App\Models\Individuo;
|
|
|
|
|
use App\Models\EmailMessage;
|
|
|
|
|
use App\Models\MailingList;
|
2026-06-01 22:55:50 +02:00
|
|
|
use App\Services\BackupService;
|
2026-05-26 08:14:29 +02:00
|
|
|
use Illuminate\Support\Facades\Auth;
|
|
|
|
|
|
|
|
|
|
class HomeController extends Controller
|
|
|
|
|
{
|
|
|
|
|
public function index()
|
|
|
|
|
{
|
|
|
|
|
$user = Auth::user();
|
2026-05-28 09:34:28 +02:00
|
|
|
|
2026-06-01 22:55:50 +02:00
|
|
|
$backupsCount = 0;
|
|
|
|
|
if ($user->canManage('settings')) {
|
|
|
|
|
$backupsCount = count(app(BackupService::class)->list());
|
|
|
|
|
}
|
|
|
|
|
|
2026-05-26 08:14:29 +02:00
|
|
|
$stats = [
|
|
|
|
|
'individui' => Individuo::count(),
|
|
|
|
|
'gruppi' => Gruppo::count(),
|
2026-06-01 22:55:50 +02:00
|
|
|
'backups' => $backupsCount,
|
2026-05-26 08:14:29 +02:00
|
|
|
'notifiche' => $user->unreadNotificheCount(),
|
2026-05-28 09:34:28 +02:00
|
|
|
'documenti' => Documento::count(),
|
|
|
|
|
'eventi' => Evento::count(),
|
|
|
|
|
'email_nuove' => EmailMessage::where('is_read', false)->where('is_trash', false)->count(),
|
|
|
|
|
'mailing_liste' => MailingList::count(),
|
2026-05-26 08:14:29 +02:00
|
|
|
];
|
|
|
|
|
|
|
|
|
|
$notifiche = $user->notifiche()->take(5)->get();
|
|
|
|
|
|
|
|
|
|
return view('home.dashboard', compact('stats', 'notifiche'));
|
|
|
|
|
}
|
|
|
|
|
}
|