busqueda; if($busqueda) { $tiposLicencias = TiposLicencias::where('tipoLicencia', 'LIKE', "%{$busqueda}%")->where('eliminado', 1)->get(); if($tiposLicencias->count() == 0) { return redirect()->route('tiposLicencias.index') ->with('error', 'No existe ningún tipo de licencia con el nombre "' . $busqueda . '". Por favor, inténtalo de nuevo.'); } if($tiposLicencias->count() == 1) { $tipoLicencia = $tiposLicencias->first(); return redirect()->route('tiposLicencias.edit', $tipoLicencia->id); } return view('tiposLicencia', ["tiposLicencias" => $tiposLicencias]); } $tiposLicencias = TiposLicencias::where('eliminado', 1)->get(); return view('tiposLicencia', ["tiposLicencias" => $tiposLicencias]); } /** * Display the specified resource. */ public function show(tiposLicencias $tiposLicencias) { return view('tiposLicencia', ['tiposLicencias' => [$tiposLicencias]]); } /** * Show the form for creating a new resource. */ public function create() { // No es necesario obtener todos los tipos de licencias aquí return view('tiposLicenciaCrearEditar', ['tipoLicencia' => null]); // Crea una nueva instancia para el formulario } /** * Store a newly created resource in storage. */ public function store(Request $request) { $tipoLicencia = new TiposLicencias(); $tipoLicencia->tipoLicencia = $request->tipoLicencia; $tipoLicencia->eliminado = 1; $tipoLicencia->save(); return redirect()->route('tiposLicencias.index')->with('success', 'Tipo de licencia creado exitosamente.'); } public function edit($id) { // Busca el tipo de licencia por ID $tipoLicencia = TiposLicencias::findOrFail($id); // Retorna la vista con el tipo de licencia para editar return view('tiposLicenciaCrearEditar', ['tipoLicencia' => $tipoLicencia]); } /** * Update the specified resource in storage. */ public function update(Request $request, $id) { $tipoLicencia = TiposLicencias::findOrFail($id); $tipoLicencia->tipoLicencia = $request->tipoLicencia; if ($request->has('eliminado')) { $tipoLicencia->eliminado = $request->eliminado; } $tipoLicencia->save(); return redirect()->route('tiposLicencias.index')->with('success', 'Tipo de licencia actualizado exitosamente.'); } public function toggleStatus($id) { $tipoLicencia = TiposLicencias::findOrFail($id); $tipoLicencia->eliminado = !$tipoLicencia->eliminado; $tipoLicencia->save(); $mensaje = $tipoLicencia->eliminado ? 'Tipo de licencia activado exitosamente.' : 'Tipo de licencia desactivado exitosamente.'; return redirect()->route('tiposLicencias.index')->with('success', $mensaje); } /** * Remove the specified resource from storage. */ public function destroy($id) { $tipoLicencia = TiposLicencias::findOrFail($id); $tipoLicencia->eliminado = 0; $tipoLicencia->save(); return redirect()->route('tiposLicencias.index')->with('success', 'Tipo de licencia eliminado exitosamente.'); } public function exportExcel() { return Excel::download(new TiposLicenciasExport(), 'tiposLicencias.xlsx'); } public function exportPDF() { $tiposLicencias = TiposLicencias::where('eliminado', 1)->get(); $pdf = PDF::loadView('exports.tiposlicencias-pdf', ['tiposLicencias' => $tiposLicencias]); return $pdf->download('tipos_licencias.pdf'); } }