/**
  * La fonction addGuest(Request $request) permet d'ajouter un invité à un événement si ce dernier existe, qu'il n'est pas complet et si les données sont valides.
  * @param Request $request - La requête contenant les paramètres.
  * @return Redirect - Une redirection avec les messages selon le bon déroulement de la fonction.
  */
 public function addGuest(Request $request)
 {
     $data = $request->all();
     $validator = Validator::make($request->all(), ['eventId' => "required|integer", 'first_name' => 'required|string', 'last_name' => 'required|string', 'email' => 'required|email', 'gender' => 'required|string|in:male,female']);
     if ($validator->passes()) {
         if (Event::existTechId($data['eventId'])) {
             $event = Event::find($data['eventId']);
             if (Event::isNotSoldOut($event->id)) {
                 if (!Guest::exist($data['email'])) {
                     $guest = new Guest();
                     $guest->first_name = $data['first_name'];
                     $guest->last_name = $data['last_name'];
                     $guest->email = $data['email'];
                     $guest->gender = $data['gender'];
                     $guest->save();
                 } else {
                     $guest = Guest::where('email', $data['email'])->first();
                     if (Guest::participateToEvent($data['eventId'], $guest->id)) {
                         return redirect('/events')->with('error', $guest->first_name . ' ' . $guest->last_name . ' participe déjà à l\'événement ' . $event->name);
                     }
                 }
                 $event->guests()->attach($guest->id);
                 return redirect('/events')->with('status', $guest->first_name . ' ' . $guest->last_name . ' a été ajouté à l\'événement ' . $event->name);
             }
             return redirect('/events')->with('error', 'Cet événement est complet');
         }
         return redirect('/events')->with('error', 'Cet événement n\'existe pas');
     }
     return redirect('/events')->withErrors($validator)->withInput();
 }
Beispiel #2
0
 /**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(Request $request)
 {
     $guest = new Guest();
     $guest->firstName = $request->firstName;
     $guest->lastName = $request->lastName;
     $guest->save();
 }
Beispiel #3
0
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     $faker = Faker::create();
     for ($i = 1; $i <= 20; $i++) {
         $guest = new Guest();
         $guest->firstName = $faker->firstName;
         $guest->lastName = $faker->lastName;
         $guest->member_since = $faker->date($format = 'Y-m-d', $max = 'now');
         $guest->save();
     }
 }
Beispiel #4
0
 public function store(Request $request)
 {
     $item = new Guest();
     $item->name = $request->name;
     $item->phone = $request->phone;
     $item->city = $request->city;
     $item->is_inside = 1;
     $item->status = 'הגיע';
     $dt = new \DateTime();
     $item->time_reg = $dt->format('Y-m-d H:i:s');
     $item->save();
     $guestRoute = new GuestRoute();
     $guestRoute->guest_id = $item->id;
     $guestRoute->position_id = 1;
     $guestRoute->branche_id = $request->branch;
     $guestRoute->save();
     $table = Table::where('branche_id', $request->branch)->limit(1)->orderBy('current_que')->orderBy('id')->first();
     $table->current_que = $table->current_que + 1;
     $table->guests_count = $table->guests_count + 1;
     $table->save();
     $que = new Que();
     $que->guest_id = $item->id;
     $que->table_id = $table->id;
     $que->save();
     return $item;
 }