public static function getAccountEventRegistrationData($evtId, $account = null)
 {
     if (is_null($account)) {
         $account = Auth::user();
     }
     //No user logged in
     if (is_null($account)) {
         return [];
     }
     $attendances = UserEvent::where('eventID', $evtId)->whereHas('user', function ($query) use($account) {
         $query->where('accountID', $account->id);
     })->get();
     $attendees = [];
     foreach ($attendances as $a) {
         $attendees[] = ["userId" => $a->userID, "registrationId" => $a->id];
     }
     return $attendees;
 }
Ejemplo n.º 2
0
 /**
  * Register the user given the userID to the event given the eventID.
  * @param  int  $id, int $eventId
  * @return Response
  */
 public function register(Request $req, $id)
 {
     $event = Event::find($id);
     if (is_null($event)) {
         return response()->json(["message" => "no_such_event"], 404);
     }
     $this->validateInputIDs($req);
     $idList = $req->input('ids');
     if (!CheckDependents::dependentsOkay($idList)) {
         return response()->json(["message" => "bad_dependents"], 400);
     }
     if (!$this->checkConferenceAttendees($id, $idList)) {
         return response()->json(["message" => "not_in_conference"], 400);
     }
     $eventUser = UserEvent::where('eventID', $id)->whereIn('userID', $idList)->get();
     if (count($eventUser) > 0) {
         return response()->json(["message" => "already_registered"], 400);
     }
     $data = array_map(function ($userId) use($id) {
         return ["userID" => $userId, "eventID" => $id];
     }, $idList);
     UserEvent::insert($data);
     return UserEvent::select(["id", "userID"])->whereIn("userID", $idList)->get();
 }