예제 #1
0
 public static function make($user, $attributes)
 {
     $etudiant = new Etudiant();
     $etudiant->idUtilisateur = $user->id;
     $etudiant->tp = $attributes['tp'];
     $etudiant->save();
     return $etudiant;
 }
예제 #2
0
 public function detailsEtudiantByEtudiant()
 {
     if (Request::ajax()) {
         $data = Request::All();
         $stagiaire = [];
         $etudiant = Etudiant::infos($data['idEtudiant']);
         $stagiaire['etudiant'] = $etudiant;
         $stage = Stage::where('idEtudiant', $etudiant->idEtudiant)->select('sujet', 'idTuteur')->first();
         if (count($stage) == 0) {
             $stage = new Stage();
             $tuteur = new Tuteur();
             $entreprise = new Entreprise();
             $entreprise->nom = "-";
             $tuteur->nomTuteur = "-";
             $tuteur->prenomTuteur = "";
             $stage->sujet = "-";
         } else {
             $tuteur = Tuteur::infos($stage->idTuteur);
             if (count($tuteur) == 0) {
                 $tuteur = new Tuteur();
             }
             $entreprise = Entreprise::where('id', $tuteur->idEntreprise)->select('nom')->first();
         }
         $stagiaire['stage'] = $stage;
         $stagiaire['tuteur'] = $tuteur;
         $stagiaire['entreprise'] = $entreprise;
         return $stagiaire;
     } else {
         return "Error.";
     }
 }
 /**
  * Retourne tableau des offres de stages qui sont valide non pourvu (stagiaire_id == null)
  * et dont etudiant n'a pas candidatee
  * Chaque offres possède un tableau de ses competences
  * L'ensemble est classée par ordre décroissante selon la date de la dernière modification de l'offre.
  *
  * @return mixed
  */
 public function getOffresAPourvoirWithCompetences()
 {
     //recupere ensemble offre de stage dont etudiant a candidatee
     $offre_stage = Etudiant::whereId(Auth::user()->user->id)->with('offre_stages')->first()->offre_stages;
     $id_offre_stage = array();
     // range dans un tableau les id de ces offres de stage
     foreach ($offre_stage as $value) {
         array_push($id_offre_stage, $value->id);
     }
     return OffreStage::whereValide(1)->whereNull('stagiaire_id')->with('competences')->whereNotIn('id', $id_offre_stage)->orderBy('offre_stages.updated_at', 'desc')->get();
 }
예제 #4
0
 public static function attempt($email, $password)
 {
     if (Etudiant::where('email', '=', $email)->count() > 0) {
         $user = Etudiant::where('email', '=', $email)->firstOrFail();
         if (Hash::check($password, $user->password)) {
             return $user;
         }
         return null;
     } else {
         return null;
     }
 }
 /**
  * update un cv de l'etudiant
  *
  * @param EtudiantCVRequest $request
  * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
  */
 public function postEtudiantCV(EtudiantCVRequest $request)
 {
     $etudiant = Etudiant::find(Auth::user()->user->id);
     DB::transaction(function () use($request, $etudiant) {
         $file = $request->file('cv');
         if ($file != null) {
             if ($file->getClientOriginalExtension() == 'pdf' || $file->getClientOriginalExtension() == 'PDF') {
                 $pdf = 'cv.pdf';
                 $cv = 'uploads/etudiants/' . md5(Auth::user()->name);
                 $file->move($cv, $pdf);
                 $etudiant->cv = $cv . '/' . $pdf;
             }
         }
     });
     $etudiant->save();
     return redirect(route('cv-etudiant', compact('cv')));
 }
예제 #6
0
 public function indexEtudiant()
 {
     $dashboardInfos = [];
     $etudiant = Etudiant::infos(session('uid'));
     $dashboardInfos['etudiant'] = $etudiant;
     $stage = Stage::infos(session('uid'));
     $stage = Stage::checkStageExiste($stage);
     $tuteur = Utilisateur::where('id', $stage->idEnseignant)->select('nom', 'prenom')->first();
     if (count($tuteur) == 0) {
         $tuteur = new Utilisateur();
         $tuteur->nom = "-";
         $tuteur->prenom = "";
     }
     $dashboardInfos['tuteur'] = $tuteur;
     $dashboardInfos['stage'] = $stage;
     return view("dashboard.dashboard")->with('dashboardInfos', $dashboardInfos);
 }
 public function index($id)
 {
     $data = [];
     if ($id == FicheTuteurEnsController::$ID_FICHE_APPARIEMENT) {
         $etudiants = Etudiant::infos()->orderBy('nom')->orderBy('prenom')->select('idEtudiant', 'nom', 'prenom')->get();
         $data['etudiants'] = $etudiants;
         $demandes = DemandeAppariement::infos(session('uid'));
         $data['demandes'] = $demandes;
     } else {
         if ($id == FicheTuteurEnsController::$ID_FICHE_VISITE) {
             $stages = Stage::infosByEnseignant(session('uid'));
             if (session()->has('registred')) {
                 return view('tuteurEnseignant.fiche')->with(['id' => $id, 'data' => $this->dataToCompteRenduVisite()]);
             } else {
                 if (count($stages) > 1 && !session()->has('registred')) {
                     return view('outils.choixStagiaire')->with(['id' => $id, 'stages' => $stages]);
                 } else {
                     if (count($stages) == 1) {
                         $idEtudiantFocus = Stage::infosByEnseignant(session('uid'))->first()->idEtudiant;
                         session(['idEtudiantFocus' => $idEtudiantFocus]);
                         return view('tuteurEnseignant.fiche')->with(['id' => $id, 'data' => $this->dataToCompteRenduVisite()]);
                     } else {
                         if (count($stages) == 0) {
                             return view('outils.aucunStagiaire')->with(['id' => $id]);
                         }
                     }
                 }
             }
             $data['test'] = '3';
         } else {
             if ($id == FicheTuteurEnsController::$ID_FICHE_SOUTENANCE) {
                 $data['dureeCreneau'] = Disponibilite::getDureeMinute();
                 $data['heureDebut'] = Disponibilite::getDebutMinute();
                 $data['heureFin'] = Disponibilite::getFinMinute();
                 $data['date'] = Disponibilite::getDate();
                 $data['dispo'][0] = Disponibilite::heureDispoToArray(0);
                 $data['dispo'][1] = Disponibilite::heureDispoToArray(1);
                 return view('commun.dispoSoutenance')->with(['id' => $id, 'data' => $data]);
             }
         }
     }
     return view('tuteurEnseignant.fiche')->with(['id' => $id, 'data' => $data]);
 }
예제 #8
0
 public function postLogin(Request $r)
 {
     $user = Admin::attempt($r->input('email'), $r->input('password'));
     if ($user == null) {
         $user = Enseignant::attempt($r->input('email'), $r->input('password'));
         if ($user != null) {
             $filiere = Enseignant::isChef($user->id);
             if ($filiere != null) {
                 Session::put('user', $user);
                 return redirect('/app/cheffiliere');
             }
         }
     }
     if ($user == null) {
         $user = Etudiant::attempt($r->input('email'), $r->input('password'));
     }
     if ($user != null) {
         Session::put('user', $user);
         return redirect('/app');
     } else {
         return redirect('/');
     }
 }
예제 #9
0
 public function postcsv()
 {
     if (Input::hasFile('csv')) {
         $fichier = Input::file('csv');
         $fichier = fopen($fichier, "r");
         while (($data = fgetcsv($fichier, 10000, ",")) != false) {
             $et = new Etudiant();
             $et->cne = $data[0];
             $et->cin = $data[1];
             $et->nom = $data[2];
             $et->prenom = $data[3];
             $et->date_naissance = $data[4];
             $et->email = $data[5];
             $et->password = Hash::make('motdepasse');
             $et->promo_id = Request::get('promo_id');
             $et->admin_id = Session::get('user')->id;
             $et->save();
         }
         return redirect('/app/etudiants');
     }
 }
 public function showhoraire($id)
 {
     $etudiants_count = Etudiant::count();
     $enseignants_count = Enseignant::count();
     $absences_count = Absence::count();
     $matieres_count = Matiere::count();
     $etudiants = Etudiant::etudiants_plus_3_absences();
     $matiere = Matiere::find($id);
     $horaires = $matiere->horaires;
     return View('app/statistiques_horaire', ['etudiants_count' => $etudiants_count, 'enseignants_count' => $enseignants_count, 'absences_count' => $absences_count, 'matieres_count' => $matieres_count, 'etudiants' => $etudiants, 'horaires' => $horaires]);
 }
 /**
  * Display the specified resource.
  *
  * @param  int  $id
  * @return Response
  */
 public function show($id)
 {
     $array['etudiant'] = Etudiant::where('etudiants.id', $id)->where('users.user_type', 'App\\Etudiant')->leftJoin('users', 'users.user_id', '=', 'etudiants.id')->leftJoin('profile_etudiants AS p', 'p.etudiant_id', '=', 'etudiants.id')->with('promotion', 'specialite')->select('name', 'cv', 'website', 'social', 'email', 'professionnel', 'education', 'promotion_id', 'specialite_id')->first();
     $array['competences'] = Etudiant::where('etudiants.id', $id)->with('competences')->first();
     return $array;
 }
 /**
  * Traitement du formulaire de profil
  *
  * @return Redirect
  */
 public function postEtudiantProfil(ProfilEtudiantRequest $request)
 {
     // Mise à jour des données de l'étudiant
     Etudiant::updateOrCreate(['id' => Auth::user()->user->id], ['promotion_id' => Input::get('promotion'), 'specialite_id' => Input::get('specialite'), 'website' => Input::get('website'), 'social' => Input::get('social')]);
     // Mise à jour des données relatives au profil
     // de l'étudiant
     ProfileEtudiant::updateOrCreate(['etudiant_id' => Auth::user()->user->id], ['professionnel' => Input::get('parcours_pro'), 'education' => Input::get('parcours_sco'), 'langue_id' => Langue::all()->first()->id]);
     return Redirect::refresh()->with('flash_success', 'Modification Profil enregistré!')->withInput();
 }
예제 #13
0
 public static function absents($id)
 {
     $absents = DB::table('horaires')->join('absences', 'absences.horaire_id', '=', 'horaires.id')->join('etudiants', 'etudiants.id', '=', 'absences.etudiant_id')->where('horaires.id', '=', $id)->select('etudiants.id as id', 'etudiants.cne as cne', 'etudiants.cin as cin', 'etudiants.nom as nom', 'etudiants.prenom as prenom', 'etudiants.date_naissance as date_naissance', 'etudiants.photo as photo', 'etudiants.email as email', 'etudiants.password as password', 'etudiants.promo_id as promo_id', 'etudiants.admin_id as admin_id', 'etudiants.created_at as created_at', 'etudiants.updated_at as updated_at')->get();
     $absents = Etudiant::hydrate($absents);
     return $absents;
 }
예제 #14
0
 public function run()
 {
     DB::table('etudiants')->delete();
     Etudiant::create(['website' => 'www.etudiant1.fr', 'social' => 'facebook.fr/etudiant1']);
 }
 /**
  * Retourne un tableau contenant pour chaque promotion :
  *      -promotion_id : de la promotion
  *      -total_sans_stage : nombre d'etudiant sans stage (en mode recherche)
  *      -total_etudiant : nombre totale etudiant de la promotion
  * @param $promotion tableau id des promotions concernées
  * @return mixed
  */
 public function getStatistiqueEtudiantParPromotion($promotion)
 {
     return Etudiant::select('promotion_id', DB::raw('count(recherche) as total_sans_stage'), DB::raw('count(*) as total_etudiant'))->whereIn('promotion_id', $promotion)->groupBy('promotion_id')->orderBy('promotion_id')->get();
 }
 public function traitementVerifStage($id)
 {
     // Recupere les infos du formulaire
     $requestFicheLocalisation = session('requestFicheLocalisation');
     // Recupere le stage
     $stage = Stage::where('idEtudiant', session('uid'))->first();
     // Aucun stage existant, on en créer un
     if (count($stage) == 0) {
         $stage = new Stage();
     }
     // Renseigne les infos (update ou init, peu importe)
     $stage->idEtudiant = session('uid');
     $stage->idTuteur = session('requestFicheLocalisation')['idTuteur'];
     $stage->sujet = $requestFicheLocalisation['sujetStage'];
     if (isset($requestFicheLocalisation['nomPlanAcces'])) {
         $stage->planAcces = $requestFicheLocalisation['nomPlanAcces'];
     }
     $stage->save();
     // Recupere l'Etudiant et l'utilisation correspondant
     $etudiant = Etudiant::where('idUtilisateur', session('uid'))->first();
     $utilisateurEtudiant = Utilisateur::where('id', session('uid'))->first();
     // Mets à jour les infos
     $etudiant->telEntrepriseEtudiant = $requestFicheLocalisation['telEtudiantEntreprise'];
     $etudiant->emailPerso = $requestFicheLocalisation['emailEtudiantPerso'];
     $utilisateurEtudiant->telPortable = $requestFicheLocalisation['telEtudiantPortable'];
     // update
     $utilisateurEtudiant->save();
     $etudiant->save();
     // Vide les infos du formulaire de la session + signal ok pour vue
     session()->forget('requestFicheLocalisation');
     session()->flash('registred', true);
     // redirection vers formulaire avec msg succes
     return redirect()->route('ficheEtudiant', ['id' => $id]);
 }
예제 #17
0
 public function gestion_etudiants()
 {
     $students = Etudiant::all();
     $promotions = Promo::all();
     $administrators = Admin::all();
     return View('app/gestion_etudiants', array('students' => $students, 'promotions' => $promotions, 'administrators' => $administrators));
 }
예제 #18
0
 public function submitSignup(Request $request, $id)
 {
     // Validation cle
     if ($id == 1) {
         return $this->validationCle($request->CleSecrete);
         // Inscription etudiant
     } else {
         if ($id == 2) {
             if (session('cleSignUp') == 2) {
                 $this->validate($request, SignupEtudiantRequest::rules());
                 $utilisateur = Utilisateur::make($request->all(), Utilisateur::$ETUDIANT);
                 $etudiant = Etudiant::make($utilisateur, $request->all());
             } else {
                 return 'Erreur, request non autorisé';
             }
             // Inscription enseignant
         } else {
             if ($id == 3) {
                 if (session('cleSignUp') == 3) {
                     $this->validate($request, SignupEnseignantRequest::rules());
                     $utilisateur = Utilisateur::make($request->all(), Utilisateur::$TUTEUR_ENSEIGNANT);
                     $enseignant = TuteurEnseignant::make($utilisateur, $request->all());
                 } else {
                     return 'Erreur, request non autorisé';
                 }
                 // Inscription tuteurEntreprise
             } else {
                 if ($id == 4) {
                     if (session('cleSignUp') == 4) {
                         $this->validate($request, SignupEntrepriseRequest::rules());
                         session(['requestSignUp' => $request->all()]);
                         $retour = $this->checkEntrepriseInDB($request);
                         if ($retour) {
                             // S'il existe une entreprise => Continue le traitement
                             return $retour;
                         } else {
                             // Si aucune entreprise identique => Finalise l'inscription (on a toute les infos)
                             return $this->endSignupEntreprise();
                         }
                     } else {
                         return 'Erreur, request non autorisé';
                     }
                     // ID Url inconnu
                 } else {
                     return "Erreur de numero d'etape";
                 }
             }
         }
     }
     return $this->signupSucceed();
 }
예제 #19
0
 public static function liste_etudiants($id)
 {
     $l_etudiants = Etudiant::where('promo_id', '=', $id)->get();
     return $l_etudiants;
 }