/** * 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'); } }
/** * envoyer l'email avec cv ou le lm à l'adress du contact * * @param $id_offre * @return mixed */ public function envoyerPostulerEmail($id_offre) { $cv = Input::file('cv'); $lm = Input::file('lm'); if ($cv == null && $lm == null) { return Redirect::back()->with('flash_error', 'Vous devez importer au moins un document!!'); } $etudiant_id = Auth::user()->user->id; $candidatures_id = DB::table('etudiant_offre_stage')->where('offre_stage_id', $id_offre)->lists('etudiant_id'); //si l'etudiant a déjà postulé sur cette offre de stage if (in_array($etudiant_id, $candidatures_id)) { return Redirect::refresh()->with('flash_error', 'Vous avez déjà postulé sur cette offre de stage!!'); } $this->ajouterEtudiantCommeCandidature($id_offre); $etudiant = User::where('user_type', 'App\\Etudiant')->where('user_id', $etudiant_id)->first(); $etudiant_name = $etudiant->name; $etudiant_email = $etudiant->email; $offre = OffreStage::find($id_offre); $user_entreprise = User::where('user_type', 'App\\Entreprise')->where('user_id', $offre->entreprise_id)->first(); $entreprise_name = $user_entreprise->name; $contact_email = $offre->email; $this->envoyerMail($etudiant_name, $etudiant_email, $entreprise_name, $contact_email, $cv, $lm); return Redirect::back()->with('flash_success', 'Votre email de candidature à été envoyé !'); }
/** * fait pourvoir une offre de stage par l'etudiant * @param $id_offre * @return mixed */ public function pourvoirOffreStage($id_offre) { $offre = OffreStage::find($id_offre); $offre->stagiaire_id = Auth::user()->user->id; $offre->save(); return Redirect::back()->with('flash_success', 'pourvoir de loffre de stage enregistré!'); }
/** * Remove the specified resource from storage. * * @param int $id * @return Response */ public function destroy($id) { $offre = OffreStage::find($id); return $offre->delete(); }
/** * Met à jour les spécialités/parcours attachés à une offre * * @param $id_offre * @param $input * @return mixed */ public function updateSpecialitesPromotionOffre($id_offre, $input) { $result = OffreStage::find($id_offre)->specialite()->sync(isset($input) ? $input : []); return isset($result); }