Esempio n. 1
0
 public function update(Ue $ue, UeRequest $request)
 {
     if (!Helpers::isAdmin()) {
         return redirect('/');
     }
     $choix_precedents = $ue->parcours_ues()->get();
     $ue->update($request->all());
     $liste_parcours = Parcours::all();
     $parcours_ue = [];
     foreach ($liste_parcours as $parcours) {
         $statut = $request->get('statut' . $parcours->id);
         $nbmin = $request->get('nbmin' . $parcours->id);
         $nbmax = $request->get('nbmax' . $parcours->id);
         if ($statut == 2 && $choix_precedents->contains('parcours_id', $parcours->id)) {
             // C'est une suppression de parcours_ue
             $ue->parcours_ues()->where('parcours_id', $parcours->id)->delete();
             Choix::parUe($ue->id)->delete();
             $parc_ue = $choix_precedents->where('parcours_id', $parcours->id)->first();
         }
         if ($statut != 2 && !empty($nbmin) && !empty($nbmax)) {
             if ($choix_precedents->contains('parcours_id', $parcours->id)) {
                 // C'est une mise à jour de parcours_ue
                 $parc_ue = $choix_precedents->where('parcours_id', $parcours->id)->first();
                 if ($parc_ue->statut != $statut || $parc_ue->nbmin != $nbmin || $parc_ue->nbmax != $nbmax) {
                     Parcours_ue::where('parcours_id', $parcours->id)->where('ue_id', $ue->id)->update(['est_optionnel' => $statut, 'nbmin' => $nbmin, 'nbmax' => $nbmax]);
                 }
             } else {
                 // C'est une création de parcours_ue
                 $parc_ue = new Parcours_ue();
                 $parc_ue->parcours_id = $parcours->id;
                 $parc_ue->est_optionnel = $statut;
                 $parc_ue->nbmin = $nbmin;
                 $parc_ue->nbmax = $nbmax;
                 array_push($parcours_ue, $parc_ue);
             }
         }
         $ue->parcours_ues()->saveMany($parcours_ue);
     }
     return redirect('admin/ue');
 }
Esempio n. 2
0
 public function getNbMaxParParcours($ue_id, $parcours_id)
 {
     return Parcours_ue::where('ue_id', $ue_id)->where('parcours_id', $parcours_id)->first()->nbmax;
 }