/** * postuler une offre de stage * @param $id_offre * @return mixed */ public function postuler($id_offre, OffreStageRepository $offreStageRepository) { $offre = OffreStage::find($id_offre); $entreprise = Entreprise::find($offre->entreprise_id); $infos = $offreStageRepository->getInfosStage($offre->entreprise_id); return View::make('etudiant.postuler')->with('offre', $offre)->with('infos', $infos)->with('entreprise', $entreprise); }
/** * Retourne : * -l'ensemble des stages(valide, non pourvu et avec competences) * -l'ensemble des competences * -l'ensemble des promotions avec specialites * le tout au format Json si requête Json sinon retourne accueil message erreur * @return View */ public function getAllStage(OffreStageRepository $offreStageRepository, CompetenceRepository $competenceRepository, PromotionRepository $promotionRepository) { $array['offres'] = $offreStageRepository->getOffresAPourvoirWithCompetences(); $array['competences'] = $competenceRepository->all(); $array['promotions'] = $promotionRepository->promotionWithSpecialite(); if (Request::wantsJson()) { return Response::json($array); } else { return Redirect::route('accueil-etudiant')->with('flash_error', 'Accès refusée!!!'); } }
/** * Validation de l'offre de stage * * @param ValidationOffreStageRequest $request * @return mixed */ public function postOffreStage($id, OffreStageRepository $offreStageRepository) { if ($offreStageRepository->updateSpecialitesPromotionOffre($id, Input::get('specialites'))) { $offre = OffreStage::find($id); $offre->valide = 1; $offre->save(); return Redirect::back()->with('flash_success', 'L\'offre de stage a bien été validée'); } else { return Redirect::back()->with('flash_danger', 'L\'offre de stage n\'a pas pu être validée'); } }
/** * Récupère l'ensemble des statistiques des promo dont le moderateur est responsable * * @return la vue */ public function getStatistiques(OffreStageRepository $offreStageRepository, EtudiantRepository $etudiantRepository, UserRepository $userRepository) { // recuperation des promotions du moderateur dans un tableau objet promotion $array['promotion'] = $this->promotionRepository->getUserLoggedPromotion()->get(); //Enregistrement des id des promotions dans un tableau $id_promotion = array(); foreach ($array['promotion'] as $value) { array_push($id_promotion, $value->id); } // recuperation statistique par promotion des offres de stages $array['offre_stage'] = $offreStageRepository->getStatistiqueOffreStageParPromotion($id_promotion); // recuperation statistique par promotion des offres de etudiants $array['etudiant'] = $etudiantRepository->getStatistiqueEtudiantParPromotion($id_promotion); // nombre entreprise en attente de validation $array['validation_entreprise'] = $userRepository->getCountEntrepriseAttenteValidation(); // nombre offre de stage concerant la promotion du moderateur en attente de validation $array['validation_offre_stage'] = $offreStageRepository->getCountOffreStageValiderParPromotionModerateur(); return View::make('moderateur/statistiques')->with($array); }
/** * renvoyer la historique de l'etudiant: stages potulés et stages faits * @return mixed */ public function getHistoriqueStage(OffreStageRepository $offreStageRepository) { //chercher toutes les offres de stages que l'etudiant a postulé $candidatures = $offreStageRepository->getStagePostules(Auth::user()->user->id); //chercher toutes les offres de stages que l'étudiant a déjà fait $stages = $offreStageRepository->getStagesFaits(Auth::user()->user->id); $offres_id = array(); foreach ($stages as $stage) { array_push($offres_id, $stage->id); } //historiques inclut les candidatures et les stages déjà faits foreach ($candidatures as $candidature) { //éviter le doublement if (!in_array($candidature->offre_stage_id, $offres_id)) { array_push($stages, $candidature); } } $valide_info = $this->offreStageRepository->all()->lists('valide', 'id'); return View::make('etudiant.historique_stage')->with('stages', $stages)->with('valide_info', $valide_info); }