Loading app/Http/Controllers/ContactoController.php +46 −0 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ use Illuminate\Http\Request; use Illuminate\Support\Str; use Illuminate\Support\Facades\Storage; use Carbon\Carbon; class ContactoController extends Controller { Loading Loading @@ -662,4 +663,49 @@ public function upload(Request $request) return redirect()->route('contacto.get')->with('success', 'Importación de contactos almacenada correctamente'); } public function obtenerEventos(Request $request){ $start = Carbon::parse($request->query('start')); $end = Carbon::parse($request->query('end')); // Obtener cumpleaños en el rango de fechas visible $cumpleanios = Contacto::where(function ($query) use ($start, $end) { for ($date = $start->copy(); $date->lte($end); $date->addDay()) { $query->orWhere(function ($subQuery) use ($date) { $subQuery->where('mes_cump', $date->format('m')) ->where('dia_cump', $date->format('d')); }); } }) ->select('id', 'nombre', 'ap_paterno', 'ap_materno', 'mes_cump', 'dia_cump') ->get(); // Obtener aniversarios de instituciones en el rango de fechas visible $aniversarios = Instituciones::whereBetween('aniversario', [$start, $end]) ->select('id', 'nombre', 'aniversario') ->get(); // Combinar los datos en un solo array para el calendario $eventos = $cumpleanios->map(function ($contacto) { return [ 'id' => $contacto->id, 'title' => $contacto->nombre . ' ' . $contacto->ap_paterno. ' ' . $contacto->ap_materno, 'start' => now()->year . '-' . str_pad($contacto->mes_cump, 2, '0', STR_PAD_LEFT) . '-' . str_pad($contacto->dia_cump, 2, '0', STR_PAD_LEFT), 'className' => 'success', 'description' => 'Cumpleaños de ' . $contacto->nombre, ]; })->merge($aniversarios->map(function ($institucion) { return [ 'id' => $institucion->id, 'title' => 'Aniversario de ' . $institucion->nombre, 'start' => $institucion->aniversario, 'className' => 'danger', 'description' => 'Aniversario de ' . $institucion->nombre, ]; })); return response()->json($eventos); } } No newline at end of file Loading
app/Http/Controllers/ContactoController.php +46 −0 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ use Illuminate\Http\Request; use Illuminate\Support\Str; use Illuminate\Support\Facades\Storage; use Carbon\Carbon; class ContactoController extends Controller { Loading Loading @@ -662,4 +663,49 @@ public function upload(Request $request) return redirect()->route('contacto.get')->with('success', 'Importación de contactos almacenada correctamente'); } public function obtenerEventos(Request $request){ $start = Carbon::parse($request->query('start')); $end = Carbon::parse($request->query('end')); // Obtener cumpleaños en el rango de fechas visible $cumpleanios = Contacto::where(function ($query) use ($start, $end) { for ($date = $start->copy(); $date->lte($end); $date->addDay()) { $query->orWhere(function ($subQuery) use ($date) { $subQuery->where('mes_cump', $date->format('m')) ->where('dia_cump', $date->format('d')); }); } }) ->select('id', 'nombre', 'ap_paterno', 'ap_materno', 'mes_cump', 'dia_cump') ->get(); // Obtener aniversarios de instituciones en el rango de fechas visible $aniversarios = Instituciones::whereBetween('aniversario', [$start, $end]) ->select('id', 'nombre', 'aniversario') ->get(); // Combinar los datos en un solo array para el calendario $eventos = $cumpleanios->map(function ($contacto) { return [ 'id' => $contacto->id, 'title' => $contacto->nombre . ' ' . $contacto->ap_paterno. ' ' . $contacto->ap_materno, 'start' => now()->year . '-' . str_pad($contacto->mes_cump, 2, '0', STR_PAD_LEFT) . '-' . str_pad($contacto->dia_cump, 2, '0', STR_PAD_LEFT), 'className' => 'success', 'description' => 'Cumpleaños de ' . $contacto->nombre, ]; })->merge($aniversarios->map(function ($institucion) { return [ 'id' => $institucion->id, 'title' => 'Aniversario de ' . $institucion->nombre, 'start' => $institucion->aniversario, 'className' => 'danger', 'description' => 'Aniversario de ' . $institucion->nombre, ]; })); return response()->json($eventos); } } No newline at end of file