96 lines
3.5 KiB
PHP
96 lines
3.5 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Http\RedirectResponse;
|
|
use App\Models\personal;
|
|
use App\Http\Requests\UpdatedPersonalRequest;
|
|
|
|
class personalController extends Controller
|
|
{
|
|
public function index(Request $request){
|
|
|
|
$personal = personal::withTrashed()-> get();
|
|
|
|
return view('personal.index', ['personal'=>$personal]);
|
|
}
|
|
public function show($id){
|
|
$personal = personal::findOrfail($id);
|
|
return view('personal.show', ["per"=>$personal]);
|
|
}
|
|
|
|
public function destroy(Request $request, $id){
|
|
$personal = personal::findOrfail($id);
|
|
$personal->delete();
|
|
$request->session()->flash('mensaje-success', 'El efectivo policial fue eliminado.');
|
|
return redirect('/personal');
|
|
}
|
|
|
|
public function create(){
|
|
return view('personal.new');
|
|
}
|
|
|
|
public function store(Request $request){
|
|
|
|
$request->validate([
|
|
'nombre' => 'required|regex:/^[a-zA-ZáéíóúñÁÉÍÓÚ]+( [a-zA-ZáéíóúñÁÉÍÓÚ]+)*$/',
|
|
'apellido' => 'required|regex:/^[a-zA-ZáéíóúñÁÉÍÓÚ]+( [a-zA-ZáéíóúñÁÉÍÓÚ]+)*$/',
|
|
'dni' => 'required|numeric|digits_between:7,8 |unique:personal,dni',
|
|
'domicilio' => 'required||max:20',
|
|
],
|
|
[
|
|
'nombre.required' => 'el campo nombre es requerido',
|
|
'nombre.regex' => 'el campo nombre sólo debe contener letras',
|
|
'apellido.required' => 'el campo apellido es requerido',
|
|
'apellido.regex' => 'el campo apellido sólo debe contener letras',
|
|
'dni.required' => 'el campo DNI es requerido',
|
|
'dni.numeric' => 'el campo DNI sólo admite números',
|
|
'dni.digits_between' => 'El campo DNI sólo admite hasta 8 dígitos',
|
|
'dni.unique' => 'el campo DNI no se puede repetir',
|
|
'domicilio.required' => 'el campo domicilio es requerido',
|
|
'domicilio.regex' => 'el campo domicilio sólo debe contener letras',
|
|
'domicilio.max' => 'el campo domicilio sólo puede tener 20 caracteres',
|
|
|
|
]
|
|
);
|
|
|
|
$personal = new personal();
|
|
$personal->fill([
|
|
'nombre' => $request->input('nombre'),
|
|
'apellido' => $request->input('apellido'),
|
|
'dni' => $request->input('dni'),
|
|
'domicilio' => $request->input('domicilio'),
|
|
]);
|
|
$personal->save();
|
|
$request->session()->flash('mensaje-success', 'La Efectivo policial fue agregado.');
|
|
return redirect('/personal');
|
|
}
|
|
|
|
public function edit($id){
|
|
$personal = personal::findOrfail($id);
|
|
return view('personal.edit', ["per"=>$personal]);
|
|
}
|
|
|
|
public function update(UpdatedPersonalRequest $request, $id){
|
|
$personal = personal::findOrfail($id);
|
|
$personal->fill([
|
|
'nombre' => $request->input('nombre'),
|
|
'apellido' => $request->input('apellido'),
|
|
'dni' => $request->input('dni'),
|
|
'domicilio' => $request->input('domicilio'),
|
|
]);
|
|
$personal->update();
|
|
$request->session()->flash('mensaje-success', 'Los datos del Efectivo fueron modificados.');
|
|
return redirect('/personal');
|
|
}
|
|
|
|
public function restaurar(Request $request, $id){
|
|
$personal = personal::withTrashed()->findOrfail($id);
|
|
$personal->restore();
|
|
$request->session()->flash('mensaje-success', 'El efectivo fue restaurado.');
|
|
return redirect('/personal');
|
|
}
|
|
}
|
|
|