diff --git a/app/Http/Controllers/AppointmentController.php b/app/Http/Controllers/AppointmentController.php index e4e4591..13c9c09 100644 --- a/app/Http/Controllers/AppointmentController.php +++ b/app/Http/Controllers/AppointmentController.php @@ -11,8 +11,8 @@ class AppointmentController extends Controller { public function index(){ - $educationAppointments = Appointment::where('service_type', '1')->get(); - $visaAppointments = Appointment::where('service_type', '2')->get(); + $educationAppointments = Appointment::where('date', '>=', Carbon::today())->where('service_type', '1')->get(); + $visaAppointments = Appointment::where('date', '>=', Carbon::today())->where('service_type', '2')->get(); // foreach($educationAppointments as $appointment){ // $startTime = Carbon::createFromFormat('H:i', $appointment->start_time); // $date = Carbon::createFromFormat('H:i', $appointment->start_time); @@ -30,6 +30,7 @@ class AppointmentController extends Controller $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_all = Appointment::whereDate('date',$date)->where(['service_type' => $type_id,'is_booked' => false,'status' => 1])->get(); $old_date = Carbon::createFromFormat('Y-m-d', $date); @@ -37,22 +38,19 @@ class AppointmentController extends Controller $currentTime = Carbon::now(); $appointments = []; foreach ($appointments_all as $appointment) { - $start_time = date("H:i", strtotime($appointment->start_time)); + $start_time = explode(" ", $appointment->start_time); + $start_time = $start_time[0]; $appointmentDate = Carbon::createFromFormat('Y-m-d H:i', $appointment->date.' '.$start_time); if ($appointmentDate->gt($currentTime)) { array_push($appointments, $appointment); } } - // $users = DB::table('appointments')->whereDate('created_at', '2022-12-01')->get(); - // $time = []; - // foreach($appointments as $appointment){ - // array_push($time, [$appointment->start_time, $appointment->id]); - // } - // dd($time); + return response()->json(['appointment' => $appointments,'formated_date' => $formated_date]); } public function form_submit(Request $request){ + $request->validate([ 'name' => 'required', 'email' => 'required|email', @@ -69,6 +67,8 @@ class AppointmentController extends Controller $appointment_detail->appointment_id = $appointment_id; $email = $request['email']; $name = $request['name']; + $phone = $request['phone']; + if($appointment_detail->save()){ $date = Carbon::createFromFormat('Y-m-d', $appointment->date); @@ -76,8 +76,9 @@ class AppointmentController extends Controller $appointment->is_booked = true; $appointment->save(); $subject = 'Appointment Confirmed'; - dispatch(function() use ($name,$email,$subject,$formated_date,$appointment) { - \Mail::send('appointment_confirmed', array( + dispatch(function() use ($name,$email,$phone,$subject,$formated_date,$appointment) { + + \Mail::send('appointment_confirmed', array( 'full_name' =>$name, @@ -89,15 +90,15 @@ class AppointmentController extends Controller 'end_time' => $appointment['end_time'], - 'phone' =>$appointment['phone'], + 'phone' =>$phone, 'subject' =>$subject ), function($message) use ($subject,$email,$name){ // $subject=($service!= '') ? 'Enquiry for '.$service : 'Contact/Feedback'; - $message->subject($subject); - $message->to($email, $name)->subject($subject); + $message->subject($subject); + $message->to($email, $name)->subject($subject); // $message->cc('extratechweb@gmail.com', 'Extratech')->subject($subject); // $message->cc('suman@extratechs.com.au', 'Extratech')->subject($subject); @@ -107,8 +108,5 @@ class AppointmentController extends Controller return response()->json(['appointment_detail' => $appointment_detail,'appointment' => $appointment,'formated_date' => $formated_date],200); - - - } } diff --git a/app/Http/Controllers/HomeController.php b/app/Http/Controllers/HomeController.php index 3610040..e1cd665 100644 --- a/app/Http/Controllers/HomeController.php +++ b/app/Http/Controllers/HomeController.php @@ -8,9 +8,17 @@ use App\Models\Testimonial; use App\Models\NewsAndUpdate; use App\Models\Subscription; use App\Models\AboutUs; +use Illuminate\Support\Facades\Artisan; +use Database\Seeders\AppointmentTableSeeder; class HomeController extends Controller { + public function runSeeder(){ + Artisan::call('db:seed', ['--class' => AppointmentTableSeeder::class]); + } + public function runQueueJobs(){ + Artisan::call('queue:listen'); + } public function index(){ $sliders = Slider::where('status',1)->get(); $testimonials = Testimonial::where('status',1)->get(); diff --git a/database/seeders/AppointmentTableSeeder.php b/database/seeders/AppointmentTableSeeder.php index 6673287..8e4c648 100644 --- a/database/seeders/AppointmentTableSeeder.php +++ b/database/seeders/AppointmentTableSeeder.php @@ -20,16 +20,21 @@ class AppointmentTableSeeder extends Seeder public function run() { + $latestAppointment = DB::table('appointments')->latest('date')->first(); + $startDate = $latestAppointment ? Carbon::parse($latestAppointment->date)->addDay() : Carbon::now(); + $startTime = Carbon::parse("9:00 AM"); $endTime = Carbon::parse("5:00 PM"); + foreach(config('custom.service_type') as $key => $value){ + for ($i = 0; $i < 7; $i++) { - $date = Carbon::now()->addDays($i); - + $date = $startDate->copy()->addDays($i); for ($j = 0; $j <= ((($endTime->diffInMinutes($startTime)) / 30)-1); $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 A"), @@ -39,6 +44,6 @@ class AppointmentTableSeeder extends Seeder } } } - + } } diff --git a/resources/views/admin/appointment/index.blade.php b/resources/views/admin/appointment/index.blade.php index 226d962..b91072c 100644 --- a/resources/views/admin/appointment/index.blade.php +++ b/resources/views/admin/appointment/index.blade.php @@ -74,9 +74,11 @@ {{$setting->is_booked ? 'Booked' : 'Not Booked'}} + @if($setting->appointment_booking_detail()->count() > 0) + @endif diff --git a/resources/views/appointment.blade.php b/resources/views/appointment.blade.php index 882b22e..0ad8f45 100644 --- a/resources/views/appointment.blade.php +++ b/resources/views/appointment.blade.php @@ -65,12 +65,12 @@