busqueda; if ($busqueda) { // Busca docentes que coincidan con el término de búsqueda $docentes = Docentes::where(function($query) use ($busqueda) { $query->where('nombre', 'LIKE', "%{$busqueda}%") ->orWhere('correo', 'LIKE', "%{$busqueda}%") ->orWhere('tipo_licencia', 'LIKE', "%{$busqueda}%") ->orWhere('materia', 'LIKE', "%{$busqueda}%"); })->get(); if ($docentes->isEmpty()) { return redirect()->route('docentes.index') ->with('error', 'No existe ningún docente con el término "' . $busqueda . '". Por favor, inténtalo de nuevo.'); } } else { // Si no hay búsqueda, mostrar todos los docentes $docentes = Docentes::all(); } return view('docentes', ['docentes' => $docentes]); } /** * Show the form for creating a new resource. */ public function create() { $docentes = Docentes::all(); return view('docentesCrearEditar',['docentes'=>$docentes]); } /** * Store a newly created resource in storage. */ public function store(Request $request) { $docente = new Docentes($request->all()); $docente->save(); return redirect()->route('docentes.index')->with('success', 'Docente creado exitosamente.'); } /** * Display the specified resource. */ public function show(Docentes $docente) { } /** * Show the form for editing the specified resource. */ public function edit($id) { $docentes = Docentes::all(); $docente = Docentes::find($id); return view('docentesCrearEditar', ['docentes' => $docentes, 'docente' => $docente]) ; } /** * Update the specified resource in storage. */ public function update(Request $request, $id) { $docente = Docentes::find($id); $docente->fill($request->all()); $docente->save(); return redirect()->route('docentes.index')->with('success', 'Docente actualizado correctamente'); } /** * Remove the specified resource from storage. */ public function destroy($id) { $docente = Docentes::find($id); $docente->status = false; $docente->save(); return redirect()->route('docentes.index')->with('success', 'Docente desactivado correctamente'); } public function toggleStatus($id) { $docente = Docentes::find($id); $docente->status = !$docente->status; $docente->save(); $mensaje = $docente->status ? 'Docente activado correctamente' : 'Docente desactivado correctamente'; return redirect()->route('docentes.index')->with('success', $mensaje); } public function export($format) { $docentes = Docentes::all(); switch($format) { case 'csv': return Excel::download(new DocentesExport($docentes), 'docentes.csv', \Maatwebsite\Excel\Excel::CSV); case 'excel': return Excel::download(new DocentesExport($docentes), 'docentes.xlsx'); case 'pdf': return PDF::loadView('exports.docentes', ['docentes' => $docentes]) ->download('docentes.pdf'); default: return redirect()->back()->with('error', 'Formato no soportado'); } } }