diff --git a/app/Http/Controllers/Auth/LoginController.php b/app/Http/Controllers/Auth/LoginController.php index 44800fd..bf0064a 100644 --- a/app/Http/Controllers/Auth/LoginController.php +++ b/app/Http/Controllers/Auth/LoginController.php @@ -27,7 +27,7 @@ class LoginController extends Controller * * @var string */ - protected $redirectTo = '/home'; + protected $redirectTo = '/'; /** * Create a new controller instance. @@ -48,7 +48,7 @@ public function logout(Request $request) $request->session()->regenerateToken(); session()->flash('error', 'Berhasil logout!'); - return redirect('/home'); + return redirect('/'); } protected function authenticated(Request $request, $user) diff --git a/app/Http/Controllers/Auth/RegisterController.php b/app/Http/Controllers/Auth/RegisterController.php index 961ea36..ab7ef63 100644 --- a/app/Http/Controllers/Auth/RegisterController.php +++ b/app/Http/Controllers/Auth/RegisterController.php @@ -28,7 +28,7 @@ class RegisterController extends Controller * * @var string */ - protected $redirectTo = '/home'; + protected $redirectTo = '/'; /** * Create a new controller instance. diff --git a/app/Http/Controllers/pages/BookingController.php b/app/Http/Controllers/pages/BookingController.php index 7d22fea..f973fec 100644 --- a/app/Http/Controllers/pages/BookingController.php +++ b/app/Http/Controllers/pages/BookingController.php @@ -22,14 +22,13 @@ public function store(Request $request) { $conflict = Booking::where('table_id', $request->table_id) ->where(function($query) use ($request) { $query->whereBetween('start_time', [$request->start_time, $request->end_time]) - ->orWhereBetween('end_time', [$request->start_time, $request->end_time]) ->orWhere(function($query) use ($request) { - $query->where('start_time', '<', $request->start_time) - ->where('end_time', '>', $request->end_time); - }); - }) - ->where('status', '!=', 'cancelled') // skip booking yang dibatalkan - ->exists(); + $query->where('start_time', '<', $request->start_time) + ->where('end_time', '>', $request->start_time); + }); + }) + ->where('status', '!=', 'cancelled') // skip booking yang dibatalkan + ->exists(); if ($conflict) { return response()->json(['message' => 'Meja sudah dibooking di jam tersebut'], 409); @@ -45,4 +44,25 @@ public function store(Request $request) { return response()->json(['message' => 'Booking berhasil']); } + + public function getBookedSchedules(Request $request) { + $request->validate([ + 'table_id' => 'required|exists:tables,id', + 'date' => 'required|date', + ]); + + $bookings = Booking::where('table_id', $request->table_id) + ->whereDate('start_time', $request->date) + ->where('status', '!=', 'cancelled') + ->select('start_time', 'end_time') + ->get() + ->map(function ($booking) { + return [ + 'start' => Carbon::parse($booking->start_time)->format('H:i'), + 'end' => Carbon::parse($booking->end_time)->format('H:i') + ]; + }); + + return response()->json($bookings); + } } diff --git a/resources/views/pages/venue.blade.php b/resources/views/pages/venue.blade.php index 2d3442d..720f6ff 100644 --- a/resources/views/pages/venue.blade.php +++ b/resources/views/pages/venue.blade.php @@ -26,8 +26,8 @@ class="flex items-center bg-[url('/public/images/map.jpg')] bg-cover bg-center p @foreach ($venue['tables'] as $table) -