public function get_ParcoursUserList_csv($id)
 {
     if (!Helpers::isSecr()) {
         return redirect('/');
     }
     $parcours = Parcours::findOrFail($id);
     $users = $parcours->users;
     $output = fopen('php://memory', 'w');
     $filename = $parcours->intitule . "_" . $parcours->specialite->intitule . '.csv';
     // output the column headings
     fputcsv($output, array($parcours->intitule, $parcours->specialite->intitule), ';');
     fputcsv($output, array('Nom', 'Prénom', '@mail', 'actif'), ';');
     // loop over the rows, outputting them
     foreach ($users as $user) {
         fputcsv($output, array($user->nom, $user->prenom, $user->mail, $user->actif), ';');
     }
     // reset the file pointer to the start of the file
     fseek($output, 0);
     // tell the browser it's going to be a csv file
     header('Content-Type: application/csv');
     // tell the browser we want to save it instead of displaying it
     header('Content-Disposition: attachment; filename="' . $filename . '";');
     // make php send the generated csv lines to the browser
     fpassthru($output);
     return null;
 }
 public function update_user_post(Request $request, $id)
 {
     $user = Auth::user();
     if ($user->profil->intitule == "administrateur") {
         $erreurs = new Collection();
         $this->validate($request, ['nom' => 'required', 'prenom' => 'required', 'mail' => 'required', 'login' => 'required|min:8', 'mdp2' => 'min:8', 'profil' => 'exists:profil,id']);
         $user = User::find($id);
         $users = User::all();
         foreach ($users as $u) {
             if ($request->input('login') != $user->login) {
                 if ($request->input('login') == $u->login) {
                     $erreurs->prepend("Ce login existe déjà !");
                     break;
                 }
             }
         }
         foreach ($users as $u) {
             if ($request->input('mail') != $user->mail) {
                 if ($request->input('mail') == $u->mail) {
                     $erreurs->prepend("Cet email existe déjà !");
                     break;
                 }
             }
         }
         $user->parcours_id = null;
         $user->groupe_id = null;
         $user->profil_id = null;
         $user->nom = $request->input('nom');
         $user->prenom = $request->input('prenom');
         $user->mail = $request->input('mail');
         $user->login = $request->input('login');
         if ($request->input('mdp2')) {
             $user->mdp = $request->input('mdp2');
         }
         if ($request->input('actif') == 1) {
             $user->actif = $request->input('actif');
         } else {
             $user->actif = 0;
         }
         if ($request->input('parcours') != 0) {
             $user->parcours_id = $request->input('parcours');
         }
         if ($request->input('groupe') != 0) {
             $user->groupe_id = $request->input('groupe');
             $user->parcours_id = Groupe::find($request->input('groupe'))->parcours->id;
         }
         if (count($erreurs) > 0) {
             $parcours = Parcours::all();
             $profils = Profil::all();
             $groupes = Groupe::all();
             $ues = Ue::all();
             return response()->view('auth/update_compte', ['erreurs' => $erreurs, 'parcours' => $parcours, 'profils' => $profils, 'groupes' => $groupes, 'ues' => $ues, 'user' => $user]);
         }
         if ($request->input('profil') != 0) {
             $user->profil_id = $request->input('profil');
         }
         $user->save();
         if (count($request->input('ues')) > 0) {
             $user->uesEnseignees()->detach();
             foreach ($request->input('ues') as $ue_id) {
                 $enseigner = new Enseigner();
                 $enseigner->user_id = $user->id;
                 $enseigner->ue_id = $ue_id;
                 $enseigner->save();
             }
         }
         return redirect('admin/user');
     }
     return "Vous êtes pas administrateur";
 }
 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');
 }
 public function post_DeleteConfirm($id)
 {
     if (!Helpers::isAdmin()) {
         return redirect('/');
     }
     $text = Parcours::findOrFail($id)->intitule . " à été supprimé";
     Parcours::destroy($id);
     return view("confirmation", ['text' => $text]);
 }
                                @foreach ($profils as $profil)
                                    <option value="{{ $profil->id }}">{{ $profil->intitule }}</option>
                                @endforeach
                            @endif
                        </select>
                    </div>
                </div>


                <div id="parcours1" class="panel-heading">Année suivie</div>
                <div id="parcours2" class="panel-body">
                    <div class="form-group">
                        <select name="parcours">
                            <option value="0">Choisir tout</option>
                            <?php 
$parcours = \App\Parcours::all();
?>
                            @if (isset($parcours))
                                @foreach ($parcours as $parc)
                                        <option value="{{ $parc->id }}">{{ $parc->intitule }}</option>
                                @endforeach
                            @endif
                        </select>
                    </div>
                </div>



                    <div id="groupe1" class="panel-heading">Groupe</div>
                    <div id="groupe2" class="panel-body">
                        <div class="form-group">
 public function update_groupe_post(Request $request, $id)
 {
     $user = Auth::user();
     if ($user->profil->intitule == "administrateur") {
         $erreurs = new Collection();
         $this->validate($request, ['intitule' => 'required', 'description' => 'required', 'parcours' => 'exists:parcours,id']);
         $groupes = Groupe::all();
         $groupe = Groupe::find($id);
         foreach ($groupes as $g) {
             if ($request->input('intitule') != $groupe->intitule) {
                 if ($request->input('intitule') == $g->intitule) {
                     $erreurs->prepend("Cet intitulé existe déjà !");
                     break;
                 }
             }
         }
         $groupe->intitule = $request->input('intitule');
         $groupe->description = $request->input('description');
         $groupe->parcours_id = $request->input('parcours');
         $parcours = Parcours::all();
         if (count($erreurs) > 0) {
             return response()->view('groupe/update_groupe', ['groupe' => $groupe, 'erreurs' => $erreurs, 'parcours' => $parcours]);
         }
         $groupe->save();
         return redirect('admin/groupe');
     }
     return "Vous êtes pas administrateur";
 }