From 45d0b8f6098700b4b6877680d66c4d03c68bd096 Mon Sep 17 00:00:00 2001 From: Mahesh Sharma Date: Mon, 13 Feb 2023 17:28:51 +0545 Subject: [PATCH] appointment-update --- .../Controllers/AppointmentController.php | 14 ++++-- database/seeders/AppointmentTableSeeder.php | 42 ++++++++++++++++++ public/frontend/.DS_Store | Bin 8196 -> 8196 bytes resources/views/appointment.blade.php | 15 +------ 4 files changed, 55 insertions(+), 16 deletions(-) create mode 100644 database/seeders/AppointmentTableSeeder.php diff --git a/app/Http/Controllers/AppointmentController.php b/app/Http/Controllers/AppointmentController.php index 94e1014..51ceffa 100644 --- a/app/Http/Controllers/AppointmentController.php +++ b/app/Http/Controllers/AppointmentController.php @@ -29,13 +29,21 @@ class AppointmentController extends Controller $date_parts = explode(" ", $dateTime); $month_number = date_parse($date_parts[1])['month']; $carbon = Carbon::createFromDate($date_parts[3], $month_number, $date_parts[2]); - $date = $carbon->format('Y-m-d'); $type_id = $request->id; - $appointments = Appointment::whereDate('date',$date)->where(['service_type' => $type_id,'is_booked' => false,'status' => 1])->get(); - + $appointments_all = Appointment::whereDate('date',$date)->where(['service_type' => $type_id,'is_booked' => false,'status' => 1])->get(); $old_date = Carbon::createFromFormat('Y-m-d', $date); $formated_date = $old_date->format('M d, Y'); + $currentTime = Carbon::now(); + $appointments = []; + foreach ($appointments_all as $appointment) { + + $appointmentDate = Carbon::createFromFormat('Y-m-d H:i:s', $appointment->date.' '.$appointment->start_time); + + if ($appointmentDate->gt($currentTime) || $appointmentDate > $currentTime) { + array_push($appointments, $appointment); + } + } // $users = DB::table('appointments')->whereDate('created_at', '2022-12-01')->get(); // $time = []; // foreach($appointments as $appointment){ diff --git a/database/seeders/AppointmentTableSeeder.php b/database/seeders/AppointmentTableSeeder.php new file mode 100644 index 0000000..051aefe --- /dev/null +++ b/database/seeders/AppointmentTableSeeder.php @@ -0,0 +1,42 @@ +addDays($i); + + for ($j = 0; $j <= (($endTime->diffInMinutes($startTime)) / 30); $j++) { + $currentTime = $startTime->copy()->addMinutes(30 * $j); + $currentEndTime = $startTime->copy()->addMinutes(30 * $j + 30); + + DB::table('appointments')->insert([ + 'date' => $date, + 'start_time' => $currentTime->format("H:i:s"), + 'end_time' => $currentEndTime->format("H:i:s"), + ]); + } + } + } +} diff --git a/public/frontend/.DS_Store b/public/frontend/.DS_Store index 93e52205d41f86df0b5d8ff4dde1b96e81c8d46e..ae55981ac0980e5d440311c9c8e5ae8638c1428e 100644 GIT binary patch delta 58 zcmZp1XmOa}&&aYdU^hP_%Vr({6E~3{C(5 diff --git a/resources/views/appointment.blade.php b/resources/views/appointment.blade.php index cb9b89f..e5b3899 100644 --- a/resources/views/appointment.blade.php +++ b/resources/views/appointment.blade.php @@ -135,19 +135,7 @@ function displayCalendar($calender,id){ var id = id; $calender.zabuto_calendar({ - data: [ - @foreach($educationAppointments as $appointment) - @php - $date = Carbon\Carbon::createFromFormat('Y-m-d', $appointment->date); - $start_time = Carbon\Carbon::createFromFormat('H:i', $appointment->start_time); - $end_time = Carbon\Carbon::createFromFormat('H:i', $appointment->end_time); - @endphp - { - date: "{{ $date->format('Y-m-d') }}", - content: "{{ $start_time->format('H:i') }} - {{ $end_time->format('H:i') }}" - }, - @endforeach - ], + classname: 'table clickable table-bordered lightgrey-weekends', week_starts: 'monday', show_days: true, @@ -188,6 +176,7 @@ }) } function dispalyAppointments(appointments,formated_date,id) { + //display available appointments in timeslot if (appointments.length > 0) {