Bienvenido al Portal de Capacitaciones
Aquà encontrarás tus rutas de aprendizaje asignadas e instructivos.
✅ Has iniciado sesión correctamente.
Tus roles:
@php
$rolPrincipal = DB::table('roles')->where('id', Auth::user()->rol_id)->first();
$rolesExtra = DB::table('user_roles')
->join('roles', 'user_roles.rol_id', '=', 'roles.id')
->where('user_roles.user_id', Auth::user()->id)
->select('roles.nombre')
->get();
@endphp
@if($rolPrincipal)
{{ $rolPrincipal->nombre }} (Principal)
@endif
@foreach($rolesExtra as $rol)
{{ $rol->nombre }}
@endforeach
@if(!$rolPrincipal && $rolesExtra->isEmpty())
Sin roles asignados
@endif
@php
$userRolesIds = [Auth::user()->rol_id];
$rolesExtras = DB::table('user_roles')->where('user_id', Auth::id())->pluck('rol_id')->toArray();
$userRolesIds = array_merge($userRolesIds, $rolesExtras);
$userRolesIds = array_filter(array_unique($userRolesIds));
// Instructivos obligatorios NO aprobados
$obligatoriosPendientes = DB::table('instructivos')
->join('instructivos_por_rol', 'instructivos.id', '=', 'instructivos_por_rol.instructivo_id')
->leftJoin('instructivos_aprobacion', function($join) {
$join->on('instructivos.id', '=', 'instructivos_aprobacion.instructivo_id')
->where('instructivos_aprobacion.user_id', '=', Auth::id());
})
->whereIn('instructivos_por_rol.rol_id', $userRolesIds)
->where('instructivos_por_rol.obligatorio', 1)
->where(function($q) {
$q->where('instructivos_aprobacion.aprobado', 0)
->orWhereNull('instructivos_aprobacion.aprobado');
})
->where('instructivos.activo', 1)
->select('instructivos.*', 'instructivos_por_rol.obligatorio')
->get();
// Instructivos obligatorios YA aprobados (para mostrar que están completos)
$obligatoriosCompletados = DB::table('instructivos')
->join('instructivos_por_rol', 'instructivos.id', '=', 'instructivos_por_rol.instructivo_id')
->join('instructivos_aprobacion', function($join) {
$join->on('instructivos.id', '=', 'instructivos_aprobacion.instructivo_id')
->where('instructivos_aprobacion.user_id', '=', Auth::id())
->where('instructivos_aprobacion.aprobado', 1);
})
->whereIn('instructivos_por_rol.rol_id', $userRolesIds)
->where('instructivos_por_rol.obligatorio', 1)
->where('instructivos.activo', 1)
->select('instructivos.*')
->get();
// Instructivos optativos (no obligatorios)
$optativos = DB::table('instructivos')
->join('instructivos_por_rol', 'instructivos.id', '=', 'instructivos_por_rol.instructivo_id')
->leftJoin('categorias_instructivos', 'instructivos.categoria_id', '=', 'categorias_instructivos.id')
->whereIn('instructivos_por_rol.rol_id', $userRolesIds)
->where('instructivos_por_rol.obligatorio', 0)
->where('instructivos.activo', 1)
->orderBy('categorias_instructivos.nombre')
->orderBy('instructivos.orden')
->select('instructivos.*')
->distinct()
->get();
// Obtener lecturas del usuario
$lecturas = DB::table('lecturas_instructivos')
->where('user_id', Auth::user()->id)
->pluck('instructivo_id')
->toArray();
$totalPendientes = $obligatoriosPendientes->count();
@endphp
@if($totalPendientes > 0)
⚠️
Tienes {{ $totalPendientes }} instructivo(s) obligatorio(s) pendiente(s)
Completa los siguientes instructivos para mantenerte al día con tus capacitaciones obligatorias.
@endif
@if($obligatoriosPendientes->count() > 0)
⚠️ Instructivos Obligatorios Pendientes
Estos instructivos son obligatorios para tu rol. Debes completarlos y aprobar el quiz.
@foreach($obligatoriosPendientes as $instructivo)
⚠️ OBLIGATORIO
{{ $instructivo->titulo }}
@if(in_array($instructivo->id, $lecturas))
✓ Leído
@else
📖 No leído
@endif
{{ $instructivo->descripcion }}
@endforeach
@endif
@if($obligatoriosCompletados->count() > 0)
✅ Instructivos Obligatorios Completados
Has completado y aprobado estos instructivos.
@foreach($obligatoriosCompletados as $instructivo)
✓ COMPLETADO
{{ $instructivo->titulo }}
@endforeach
@endif
📚 Biblioteca de Instructivos
Estos instructivos son informativos y optativos. No requieren evaluación.
@if($optativos->count() > 0)
@foreach($optativos as $instructivo)
{{ $instructivo->titulo }}
@if(in_array($instructivo->id, $lecturas))
✓ Leído
@else
📖 No leído
@endif
{{ $instructivo->descripcion }}
@endforeach
@else
No hay instructivos optativos disponibles para tu rol.
@endif