role !== 'superadmin') { $user = Auth::user(); $documents = LegalDocument::all()->groupBy('type'); foreach ($documents as $type => $docs) { $latest = $docs->sortByDesc('version')->first(); if (!$latest) { continue; } $accepted = UserDocumentAcceptance::where('user_id', $user->id) ->where('legal_document_id', $latest->id) ->exists(); if (!$accepted) { return redirect()->route('legal.document.show', $latest->type) ->with('warning', 'Você precisa aceitar a versão atual dos documentos legais para continuar.'); } } } return $next($request); } }