smoya/app/Http/Controllers/denunciasController.php
2026-10-11 23:16:25 -03:00

111 lines
3.2 KiB
PHP

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Http\RedirectResponse;
use App\Models\denuncias;
use App\Models\civiles;
use App\Models\TiposDenuncias;
use App\Http\Requests\UpdatedDenunciasRequest;
use App\Http\Requests\StoreDenunciasRequest;
class denunciasController extends Controller
{
public function index(Request $request){
$denuncias = denuncias::with('tipo')->get();
return view('denuncias.index', ['denuncias'=>$denuncias]);
}
public function show($id){
$denuncia = denuncias::with('tipo','estado','civiles')->findOrFail($id);
return view('denuncias.show', ["denuncia"=>$denuncia]);
}
public function create(){
$civiles = Civiles::get();
$tipos = TiposDenuncias::get();
return view('denuncias.new',["civiles"=>$civiles, "tipos"=>$tipos] );
}
public function store(StoreDenunciasRequest $request){
$denuncias = new denuncias();
$denuncias->fill([
'fecha' => $request->input('fecha'),
'fecha_hecho' => $request->input('fecha_hecho'),
'tipo_id' => $request->input('tipo_id'),
'descripcion' => $request->input('descripcion'),
'lugar' => $request->input('lugar'),
'estado_id' => 1,
]);
$denuncias->save();
//guardar denunciantes (A)
foreach ($request->input('denunciantes', []) as $civil_id) {
$denuncias->civiles()->attach($civil_id, [
'rol_en_denuncia' => 'A'
]);
}
//Guardar denunciados (D)
foreach ($request->input('denunciados', []) as $civil_id) {
$denuncias->civiles()->attach($civil_id, [
'rol_en_denuncia' => 'D'
]);
}
//Guardar víctimas (V)
foreach ($request->input('victimas', []) as $civil_id) {
$denuncias->civiles()->attach($civil_id, [
'rol_en_denuncia' => 'V'
]);
}
//Guardar testigos (T)
foreach ($request->input('testigos', []) as $civil_id) {
$denuncias->civiles()->attach($civil_id, [
'rol_en_denuncia' => 'T'
]);
}
$request->session()->flash('mensaje-success', 'La denuncia fue guardada exitosamente.');
return redirect('/denuncias');
}
public function edit($id){
$denuncias = denuncias::findOrfail($id);
return view('denuncias.edit', ["denuncia"=>$denuncias]);
}
public function update(UpdatedDenunciasRequest $request, $id){
$denuncias = denuncias::findOrfail($id);
$denuncias->fill([
'nombre_denunciante' => $request->input('nombre'),
'apellido_denunciante' => $request->input('apellido'),
'dni_denunciante' => $request->input('dni'),
'fecha' => $request->input('fecha'),
'tipo' => $request->input('tipo'),
'descripcion' => $request->input('descripcion'),
'lugar' => $request->input('lugar'),
]);
$denuncias->update();
$request->session()->flash('mensaje-success', 'Los datos fueron modificados.');
return redirect('/denuncias');
}
}