Files

71 lines
1.8 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Models\Evaluacion;
use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
class EvaluacionController extends Controller
{
public function index()
{
$evaluaciones = Evaluacion::with('tipo')
->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.');
}
}