smoya/app/Http/Controllers/personalController.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');
}
}