Exemplo n.º 1
0
 /**
  * Active un quizz
  *
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function activate($id)
 {
     // Récupération du quizz
     $quizz = Quizz::id($id);
     if ($quizz->count() === 0) {
         return redirect(route('admin.home'))->with('erreur', 'Ce quizz n\'existe pas');
     } else {
         $quizz = Quizz::id($id);
         //var_dump($quizz->date_begin, Carbon::now()->toDateString(), $quizz->date_end);die;
         if ($quizz->date_begin >= Carbon::now()->toDateString() && $quizz->date_end >= Carbon::now()->toDateString()) {
             // Récupération du derniers quizz activé
             // Si il n'a pas de vainqueur il passe en status 3 = désactiver
             // Si non il passe en status 4 = finis
             $verifQuizzLastActivate = Quizz::lastActivate();
             if (empty($verifQuizzLastActivate->winner)) {
                 $verifQuizzLastActivate->update(['status' => 3, 'updated_at' => date('Y-m-d')]);
             } else {
                 $verifQuizzLastActivate->update(['status' => 4, 'updated_at' => date('Y-m-d')]);
             }
             // Récupération du quizz actif
             $verifQuizzActivate = Quizz::activate();
             $verifQuizzActivate->update(['status' => 2, 'updated_at' => date('Y-m-d')]);
             // Active le quizz courant
             $quizz->update(['status' => 1, 'updated_at' => date('Y-m-d')]);
             return redirect(route('admin.home'))->with('success', 'Le quizz a bien été activé');
         } else {
             return redirect(route('admin.home'))->with('erreur', 'Les dates de début et de fin ne permettent pas d\'activé ce quizz');
         }
     }
 }