public function saveReservation(Request $request)
 {
     $reservation = new Reservation();
     if (!$request->input('locator_id') || !Locator::find($request->input('locator_id'))) {
         return response('Lokator nie został sprecyzowany', 500)->header('Content-Type', 'text/html; charset=utf-8');
     }
     if (!$request->input('rooms')) {
         return response('Pokoje nie zostały sprecyzowane', 500)->header('Content-Type', 'text/html; charset=utf-8');
     }
     foreach ($request->input('rooms') as $room) {
         if (!Room::find($room)) {
             return response('Pokój o numerze ' . $room . ' nie jest zdefiniowany w bazie danych.', 500)->header('Content-Type', 'text/html; charset=utf-8');
         }
     }
     $reservation->locator_id = $request->input('locator_id');
     $reservation->reservation_time = date('Y-m-d H:i:sZ', time());
     $reservation->since = $request->input('since');
     $reservation->till = $request->input('till');
     $reservation->is_paid = $request->input('is_paid');
     $reservation->dinners_count = $request->input('dinners_count');
     $reservation->people_count = $request->input('people_count');
     $reservation->save();
     $reservation->rooms()->sync($request->input('rooms'));
     $reservation->save();
     return response()->json($reservation);
 }
Ejemplo n.º 2
0
 public function check_in(Reservation $reservation)
 {
     foreach ($reservation->roomTypes as $roomType) {
         for ($i = 1; $i <= $roomType->pivot->total_room_reserved; $i++) {
             $room = $roomType->rooms()->available()->first();
             $reservation->rooms()->attach($room->id);
             $room->status = 1;
             $room->save();
         }
     }
     $reservation->status = 1;
     $reservation->save();
     return redirect('/reservation');
 }