withCount(['preguntas', 'submissions']) ->latest() ->get(); return view('evaluacion.index', compact('evaluaciones')); } public function create() { return view('evaluacion.create'); } public function store(Request $request) { // Manejado por Livewire EvaluacionBuilder } public function show(Evaluacion $evaluacion) { $evaluacion->load(['tipo', 'preguntas.tipo', 'preguntas.opciones', 'planteles', 'niveles']); return view('evaluacion.show', compact('evaluacion')); } public function edit(Evaluacion $evaluacion) { $evaluacion->load(['preguntas.opciones', 'planteles', 'niveles']); return view('evaluacion.create', compact('evaluacion')); } public function update(Request $request, Evaluacion $evaluacion) { // Manejado por Livewire EvaluacionBuilder } public function destroy(Evaluacion $evaluacion) { $evaluacion->delete(); session()->flash('swal',[ 'icon'=>'success', 'title'=>'Eliminado!', 'text'=>'Se ha eliminado el registro correctamente' ]); return redirect()->route('evaluacion.index'); } public function toggleStatus(Request $request, Evaluacion $evaluacion) { $request->validate(['status' => 'required|in:borrador,activa,cerrada']); $evaluacion->update(['status' => $request->status]); return back()->with('info', 'Estado actualizado.'); } }