Example #1
0
 /**
  * Bind data to the view.
  *
  * @param Route $route
  * @param  View $view
  */
 public function compose(View $view)
 {
     $routeService = new Route();
     $pilot = PilotRepository::getCurrentPilot();
     $currentBooking = Booking::has('pirep', '<', 1)->where('pilot_id', '=', $pilot->id)->first();
     $view->with('currentBooking', $currentBooking);
     $view->with('upcomingBookings', Booking::has('pirep', '<', 1)->limit(10)->skip(1)->where('pilot_id', '=', $pilot->id)->get());
     $view->with('routePoints', $routeService->getAllPointsForRoute($currentBooking->route));
     $view->with('depMetar', Cache::remember('Metar:' . $currentBooking->route->departureAirport->icao, 10, function () use($currentBooking) {
         return file_get_contents('http://weather.noaa.gov/pub/data/observations/metar/decoded/' . strtoupper($currentBooking->route->departureAirport->icao) . '.TXT');
     }));
     $view->with('arrMetar', Cache::remember('Metar:' . $currentBooking->route->arrivalAirport->icao, 10, function () use($currentBooking) {
         return file_get_contents('http://weather.noaa.gov/pub/data/observations/metar/decoded/' . strtoupper($currentBooking->route->arrivalAirport->icao) . '.TXT');
     }));
 }
Example #2
0
 /**
  * Bind data to the view.
  *
  * @param  View  $view
  * @return void
  */
 public function compose(View $view)
 {
     $pilot = PilotRepository::getCurrentPilot();
     $currentLocation = $pilot->location;
     $lastBooking = Booking::has('pirep', '<', 1)->where('pilot_id', '=', $pilot->id)->orderBy('created_at', 'desc')->first();
     if (count($lastBooking) == 1) {
         $currentLocation = $lastBooking->route->arrivalAirport;
     }
     $view->with('currentLocation', $currentLocation);
     // Ordered flights list
     $sortedRoutes = [];
     $availableRoutes = RoutesRepository::getRoutesFrom($currentLocation);
     $view->with('availableRoutes', $availableRoutes);
     foreach ($availableRoutes as $route) {
         $sortedRoutes[$route->arrivalAirport->region->country->continent][$route->arrivalAirport->region->country->name][$route->arrivalAirport->region->name][] = (object) $route->arrivalAirport->toArray();
     }
     $view->with('sortedRoutes', $sortedRoutes);
 }
Example #3
0
 public static function countBookedFlights()
 {
     return count(Booking::has('pirep', '<', 1)->where('pilot_id', '=', self::getCurrentPilot()->id)->get()->toArray());
 }