コード例 #1
0
 private function createBasicFlight($number)
 {
     $flight = new Flight();
     $flight->flightNumber = $number;
     $flight->airline = "Foobar Air";
     $flight->arrivalDate = "2016-02-02";
     $flight->arrivalTime = "00:00:00";
     $flight->airport = "FOO";
     $flight->isChecked = true;
     $flight->save();
     return $flight;
 }
コード例 #2
0
 /**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(Requests\FlightStoreRequest $request, $slug)
 {
     $flight = new Flight();
     $flight->flight_thread_id = $request->flight_thread_id;
     $flight->aircraft_id = $request->aircraft_id;
     $flight->user_id = Auth::User()->id;
     $flight->departure_time = Carbon::createFromFormat('d.m.Y G:i', $request->departure_day . ' ' . $request->departure_time);
     $flight->arrival_time = Carbon::createFromFormat('d.m.Y G:i', $request->departure_day . ' ' . $request->departure_time)->addHours(24)->second(0);
     if ($flight->save()) {
         return response()->json('true');
     }
     return response()->json('false');
 }
コード例 #3
0
 private function processRegistration($req, $conferenceID, $accountID)
 {
     return DB::transaction(function () use($req, $conferenceID, $accountID) {
         //Grab request data for use later
         $needsTransport = $req['needsTransportation'];
         $needsAccommodation = $req['needsAccommodation'];
         $attendees = $req['attendees'];
         //Check whether dependents are okay/owned by the current user
         if (!CheckDependents::dependentsOkay($attendees)) {
             return ["message" => "bad_attendee_listing", "code" => 400, "attendees" => $attendees];
         }
         $existing = UserConference::where('conferenceID', $conferenceID)->whereIn('userID', $attendees)->count();
         if ($existing > 0) {
             return ["message" => "already_registered", "code" => 400, "attendees" => $attendees];
         }
         //If the request explicitly doesn't have a flight, just register attendees without one
         if (isset($req['hasFlight'])) {
             Log::debug("Attendees being registered without a flight.");
             if (!$req['hasFlight']) {
                 return $this->registerAttendees($conferenceID, $attendees, $needsTransport, $needsAccommodation, null);
             }
         }
         $number = $req['flight']['number'];
         $arrivalDay = $req['flight']['arrivalDate'];
         $arrivalTime = $req['flight']['arrivalTime'];
         $airline = $req['flight']['airline'];
         $airport = $req['flight']['airport'];
         //Grab (checked) matching flights for airline/flight number/date
         $flights = Flight::where('flightNumber', $number)->where('airline', $airline)->where('arrivalDate', $arrivalDay)->where('isChecked', true)->get();
         if (sizeof($flights) >= 1) {
             foreach ($flights as $row) {
                 if ($row->arrivalTime == $arrivalTime && $row->airport == $airport) {
                     Log::info("Attendees using {$row->airline} flight {$row->flightNumber} being registered using existing flight");
                     return $this->registerAttendees($conferenceID, $attendees, $needsTransport, $needsAccommodation, $row->id);
                 }
             }
             return ["message" => "flight_data_mismatch", "code" => 400, "attendees" => $attendees];
         } else {
             //Create a new flight with the given data
             $flight = new Flight();
             $flight->flightNumber = $number;
             $flight->airline = $airline;
             $flight->arrivalDate = $arrivalDay;
             $flight->arrivalTime = $arrivalTime;
             $flight->airport = $airport;
             $flight->isChecked = false;
             $flight->save();
             Log::info("Attendees using {$flight->airline} flight {$flight->flightNumber} being registered using new flight");
             return $this->registerAttendees($conferenceID, $attendees, $needsTransport, $needsAccommodation, $flight->id);
         }
     });
 }