select('use_ean_codes', 'nb_participation_player')->first(); // return view('front.basic.participation-exhausted', compact('settings')); return view('front.basic.enter-code', compact('settings')); } public function participate(Request $request) { $code = $request->code; $settings = Settings::select('use_ean_codes')->first(); if ($settings->use_ean_codes) { $codeEan = $request->code_ean; $eanExist = CodesEAN::where('code', $codeEan)->count(); if ($eanExist === 0) { return redirect()->back()->withErrors('Le code EAN entré est incorrect, veuillez réessayer.'); } } $gagne = false; // TODO : Traitement du code, instant gagnant etc if ($gagne) { $prizeId = $request->prize; $prize = Prizes::findOrFail($prizeId); // TODO : Check que le participant à bien gagné avant de renvoyé la vue, sinon 404 return view('front.basic.' . $prize->gain_view->file_name, compact('prize')); } else { // Page perdu si jeu non 100% gagnant, reduction sinon $perdant = false; $nbDefaultPrize = Prizes::where('is_default', 1)->count(); if ($nbDefaultPrize === 0 ) { $perdant = true; } if ($perdant) { return view('front.basic.loose'); } else { $prizes = Prizes::where('is_default', 1)->get(); // TODO : Gérer quel prix par défaut on retourne avec un pourcentage return view('front.basic.reduction', compact('prizes')); } } } }