111 lines
3.2 KiB
PHP
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');
|
|
}
|
|
}
|
|
|