From 8e4e719aa80f28c7fc41674ccf630d227a16ff05 Mon Sep 17 00:00:00 2001 From: Rubi Date: Fri, 28 Mar 2025 13:39:40 -0600 Subject: [PATCH] validaciones no se pueden agregar nombres iguales de licencias --- .../Controllers/TiposLicenciasController.php | 23 +++++++++++++++++++ .../views/tiposLicenciaCrearEditar.blade.php | 14 ++++------- 2 files changed, 28 insertions(+), 9 deletions(-) diff --git a/app/Http/Controllers/TiposLicenciasController.php b/app/Http/Controllers/TiposLicenciasController.php index 8a14ce6..a117ab5 100644 --- a/app/Http/Controllers/TiposLicenciasController.php +++ b/app/Http/Controllers/TiposLicenciasController.php @@ -59,6 +59,17 @@ class TiposLicenciasController extends Controller */ public function store(Request $request) { + // Verificar si ya existe un tipo de licencia con el mismo nombre + $existe = tiposLicencias::where('tipoLicencia', $request->tipoLicencia) + ->where('eliminado', 1) + ->exists(); + + if ($existe) { + return redirect()->route('tiposLicencias.create') + ->with('error', 'Ya existe un tipo de licencia con el nombre "' . $request->tipoLicencia . '". Por favor, ingrese un nombre diferente.') + ->withInput(); + } + $tipoLicencia = new TiposLicencias(); $tipoLicencia->tipoLicencia = $request->tipoLicencia; $tipoLicencia->eliminado = 1; @@ -81,6 +92,18 @@ class TiposLicenciasController extends Controller */ public function update(Request $request, $id) { + // Verificar si ya existe otro tipo de licencia con el mismo nombre + $existe = tiposLicencias::where('tipoLicencia', $request->tipoLicencia) + ->where('id', '!=', $id) + ->where('eliminado', 1) + ->exists(); + + if ($existe) { + return redirect()->route('tiposLicencias.edit', $id) + ->with('error', 'Ya existe un tipo de licencia con el nombre "' . $request->tipoLicencia . '". Por favor, ingrese un nombre diferente.') + ->withInput(); + } + $tipoLicencia = TiposLicencias::findOrFail($id); $tipoLicencia->tipoLicencia = $request->tipoLicencia; if ($request->has('eliminado')) { diff --git a/resources/views/tiposLicenciaCrearEditar.blade.php b/resources/views/tiposLicenciaCrearEditar.blade.php index 140a90e..2b44c00 100644 --- a/resources/views/tiposLicenciaCrearEditar.blade.php +++ b/resources/views/tiposLicenciaCrearEditar.blade.php @@ -17,16 +17,12 @@ - @if($errors->any()) -
+ @if(session('error')) +
- -
-
    - @foreach($errors->all() as $error) -
  • {{ $error }}
  • - @endforeach -
+ +
+ {{ session('error') }}