示例#1
0
 public function evalAdv($_review)
 {
     parent::model("accounts");
     parent::model("docs");
     $model1 = new accounts();
     $model2 = new docs();
     if (isset($_review["intern"]) && isset($_review["#review"]) || isset($_POST["intern"])) {
         $data['advisors'] = $model1->ShowUsersByRank(0);
         $data['interns'] = $model1->ShowUsersByRank(2);
         $intern = null;
         $review = null;
         if (isset($_POST['intern'])) {
             $_review = null;
             $intern = $_POST['intern'];
             $review = $_POST['review'];
         } else {
             if ($_review != null) {
                 $intern = $_review["intern"];
                 $review = $_review["#review"];
             }
         }
         $data['readOnly'] = $model2->ReadOnlyAdvisor($intern, $review);
         parent::model("projects");
         $project = new projects();
         $projectIntern = null;
         if (ctype_digit($intern)) {
             $projectIntern = $project->ShowProjectByIntern($intern);
         }
         if ($projectIntern != null) {
             if (!$data['readOnly']) {
                 if (isset($_POST['evalIntern']) && $_SESSION['form_timer'] + 300 > time()) {
                     try {
                         $model2->SaveAdvisor($_SESSION['ID'], $review, $_POST);
                         $data['alert'] = "alert-success";
                         $data['message'] = "L'évaluation a été enregistrée avec succès!";
                         $data['review'] = $model2->LoadAdvisor($intern, $review);
                         $data['readOnly'] = true;
                     } catch (exception $ex) {
                         $data['alert'] = "alert-warning";
                         $data['message'] = "L'enregistrement de l'évaluation a échoué.";
                         $this->ShowInterns($data);
                     }
                 }
             } else {
                 $data['alert'] = "alert-warning";
                 $data['message'] = "Cette évaluation existe déjà pour ce stagiaire.";
                 $data['review'] = $model2->LoadAdvisor($intern, $review);
             }
             $data['intern'] = $intern;
             $data['#review'] = $review;
             parent::view("shared/header");
             parent::view("advisor/menu");
             parent::view("advisor/eval", $data);
             parent::view("shared/footer");
         } else {
             $data['alert'] = "alert-warning";
             $data['message'] = "Ce stagiaire n'a pas encore été jumelé à un projet.";
             $this->ShowInterns($data);
         }
     } else {
         $this->ShowInterns(null);
     }
 }