juli_proyecto/app/Http/Controllers/TurnosController.php
2026-06-23 00:09:24 -03:00

110 lines
3.7 KiB
PHP

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Http\RedirectResponse;
use App\Models\Turnos;
use App\Http\Requests\UpdatedTurnosRequest;
class TurnosController extends Controller
{
public function index(Request $request){
$turnos = Turnos::withTrashed()->get();
// $turnos = Turnos::findOrFail(13);
//$turnos = Turnos::where('id_turno', 1)->first();
//$turnos = Turnos::where('descripcion', 'Cursos, capacitaciones y formación')->get();
//$turnos = Turnos::where('descripcion', 'like', '%Prod%')->get();
//$turnos = Turnos::orderBy('nombre', 'desc')->get();
//$turnos = Turnos::first();
//$turnos = Turnos::last();
/*Turnos::count();*/
return view('turnos.index', ["turnos"=>$turnos]);
}
public function show($id){
$turnos = Turnos::findOrfail($id);
return view('turnos.show', ["turnos"=>$turnos]);
}
public function destroy(Request $request, $id){
$turnos = Turnos::findOrfail($id);
$turnos->delete();
$request->session()->flash('mensaje-success', 'El turno fue eliminado.');
return redirect('/turnos');
}
public function create(){
return view('turnos.new');
}
public function store(Request $request){
$request->validate([
'nombre' => 'required|unique:turnos,nombre|regex:/^[a-zA-ZáéíóúñÁÉÍÓÚ]+( [a-zA-ZáéíóúñÁÉÍÓÚ]+)*$/|max:20',
'domicilio' => 'required',
'apellido' => 'required',
'dni' => 'required|numeric|digits_between:7,8',
],
[
'dni.unique' => 'el campo dni no se puede repetir',
'dni.required' => 'el campo dni es requerido',
'dni.numeric' => 'el campo dni debe ser un número',
'dni.digits_between' => 'el campo dni debe contener entre 7 y 8 dígitos',
'nombre.required' => 'el campo nombre es requerido',
'nombre.regex' => 'el campo nombre solo debe contener letras',
'nombre.max' => 'el campo nombre debe contener un maximo de 20 caracteres',
'apellido.required' => 'el campo apellido es requerido',
'domicilio.required' => 'el campo domicilio es requerido',
]
);
$turnos = new Turnos();
$turnos->fill([
'nombre' => $request->input('nombre'),
'domicilio' => $request->input('domicilio'),
'dni' => $request->input('dni'),
'apellido' => $request->input('apellido'),
]);
$turnos->save();
$request->session()->flash('mensaje-success', 'El turno fue agregado.');
return redirect('/turnos');
}
public function edit($id){
$turnos = Turnos::findOrfail($id);
//$turno = Turnos::where('id_turno',$id)->first();
return view('turnos.edit', ["turnos"=>$turnos]);
}
public function update(UpdatedTurnosRequest $request, $id){
$turnos = Turnos::findOrfail($id);
$turnos->fill([
'nombre' => $request->input('nombre'),
'domicilio' => $request->input('domicilio'),
'dni' => $request->input('dni'),
'apellido' => $request->input('apellido'),
]);
$turnos->update();
$request->session()->flash('mensaje-success', 'El turno fue modificado.');
return redirect('/turnos');
}
public function restaurar(Request $request, $id){
$turnos = Turnos::withTrashed()->findOrfail($id);
$turnos->restore();
$request->session()->flash('mensaje-success', 'El turno fue restaurado.');
return redirect('/turnos');
}
}