diff --git a/app/Http/Controllers/DocentesController.php b/app/Http/Controllers/DocentesController.php index 26dc233..ecefb71 100644 --- a/app/Http/Controllers/DocentesController.php +++ b/app/Http/Controllers/DocentesController.php @@ -19,11 +19,12 @@ class DocentesController extends Controller if ($busqueda) { // Busca docentes que coincidan con el término de búsqueda - $docentes = Docentes::where('nombre', 'LIKE', "%{$busqueda}%") - ->orWhere('correo', 'LIKE', "%{$busqueda}%") - ->orWhere('tipo_licencia', 'LIKE', "%{$busqueda}%") - ->orWhere('materia', 'LIKE', "%{$busqueda}%") - ->get(); + $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') @@ -79,7 +80,8 @@ class DocentesController extends Controller public function update(Request $request, $id) { $docente = Docentes::find($id); - $docente->update($request->all()); + $docente->fill($request->all()); + $docente->save(); return redirect()->route('docentes.index')->with('success', 'Docente actualizado correctamente'); } @@ -89,8 +91,19 @@ class DocentesController extends Controller public function destroy($id) { $docente = Docentes::find($id); - $docente->delete(); - return redirect()->route('docentes.index')->with('success', 'Docente eliminado correctamente'); + $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) diff --git a/app/Models/Docentes.php b/app/Models/Docentes.php index 8bd5954..ff46d73 100644 --- a/app/Models/Docentes.php +++ b/app/Models/Docentes.php @@ -14,6 +14,7 @@ class Docentes extends Model 'telefono', 'correo', 'tipo_licencia', - 'materia' + 'materia', + 'status' ]; } diff --git a/database/migrations/2025_03_27_054337_add_status_to_docentes_table.php b/database/migrations/2025_03_27_054337_add_status_to_docentes_table.php new file mode 100644 index 0000000..921a4d6 --- /dev/null +++ b/database/migrations/2025_03_27_054337_add_status_to_docentes_table.php @@ -0,0 +1,28 @@ +boolean('status')->default(true)->after('materia'); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('docentes', function (Blueprint $table) { + $table->dropColumn('status'); + }); + } +}; diff --git a/resources/views/docentes.blade.php b/resources/views/docentes.blade.php index 470628c..c1c0ebc 100644 --- a/resources/views/docentes.blade.php +++ b/resources/views/docentes.blade.php @@ -82,6 +82,7 @@