/**
  * Show the form for editing the specified resource.
  *
  * @param  int  $id
  * @return Response
  */
 public function edit($id)
 {
     try {
         $booking = Booking::findOrFail($id);
     } catch (ModelNotFoundException $e) {
         return redirect('booking')->withErrors("Booking with id " . $id . " not found");
     }
     return view('booking.edit')->with(['booking' => $booking]);
 }
 public function findBooking($id)
 {
     return Booking::findOrFail($id);
 }
 /**
  * Remove the specified resource from storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function destroy($id)
 {
     $booking = Booking::findOrFail($id);
     $booking->delete();
     return redirect('bookingadmin');
 }
 /**
  * Cancel an accepted booking
  *
  * @param \Illuminate\Http\Request $request
  * @param int $id
  * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
  */
 public function cancel(Request $request, $id)
 {
     $booking = Booking::findOrFail($id);
     $booking->state = 'pending';
     $booking->save();
     $this->batchChangeState($booking->from, $booking->to, $booking->room, $id, 'pending');
     $params = $request->session()->get('booking.index');
     if (!is_array($params)) {
         $params = [];
     }
     $queryParams = http_build_query($params);
     $redirect = empty($queryParams) ? 'admin/bookings' : 'admin/bookings?' . $queryParams;
     return redirect($redirect);
 }