71 lines
1.8 KiB
PHP
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.');
|
|
}
|
|
}
|