diff --git a/competency_iena_competency_students_2.php b/competency_iena_competency_students_2.php
index ba2b6673d48f137c88ea64a944af8d31d84dea1f..66d5a4cbff16b55aa88e39df6161768e7ff420a1 100644
--- a/competency_iena_competency_students_2.php
+++ b/competency_iena_competency_students_2.php
@@ -39,8 +39,51 @@ $thingnode->make_active();
 /* Liste des compétences du cours */
 $course_cpts = \core_competency\course_competency::list_competencies($COURSE->id);
 
-if (count($course_cpts) > 0) {
+if(isset($_POST) && !empty($_POST)){
+
+	$studentid = required_param('studentid', PARAM_INT);
+	$competencyid = required_param('competencyid', PARAM_INT);
+
+
+	$sql_rev = "SELECT * FROM {competency_usercomp} WHERE userid = ? AND competencyid = ? AND status = ?";
+	$reviews_data = $DB->get_records_sql($sql_rev, [$studentid, $competencyid, 1]);
+	$review_asked = count($reviews_data) > 0 ? true : false;
+
+
+	/* <<< POST >>> */
+
+	/* POST EVALUATION */
+
+	if ( isset($_POST['grade']) ) {
+		$note = $_POST['note'];
+		\core_competency\api::grade_competency_in_course($courseid, $studentid, $competencyid, $_POST['grade'], $note);
+		if ( $review_asked ) {
+			\core_competency\api::user_competency_start_review($studentid, $competencyid);
+			\core_competency\api::user_competency_stop_review($studentid, $competencyid);
+			/* Refresh review data */
+			$reviews_data = $DB->get_records_sql($sql_rev, [$studentid, $competencyid, 1]);
+			$review_asked = count($reviews_data) > 0 ? true : false;
+		}
+	}
+
+	/* POST REVIEW */
+
+	if ( isset($_POST['review']) ) {
+		if ( $_POST['review'] == 'request' ) {
+			\core_competency\api::user_competency_request_review($studentid, $competencyid);
+		} elseif ( $_POST['review'] == 'cancel' ) {
+			\core_competency\api::user_competency_cancel_review_request($studentid, $competencyid);
+		}
+		/* Refresh review data */
+		$reviews_data = $DB->get_records_sql($sql_rev, [$studentid, $competencyid, 1]);
+		$review_asked = count($reviews_data) > 0 ? true : false;
+	}
+
+}
+
 
+if (count($course_cpts) > 0) {
+	$message='Cliquez sur le bouton "Chercher" pour afficher des étudiants.';
 	$current_cpt = new stdClass();
 	foreach ($course_cpts as $course_cpt) {
 		$current_cpt->id = $course_cpt->get('id');
@@ -252,6 +295,7 @@ if (count($course_cpts) > 0) {
 			
 			array_push($cpt_studs, $cpt_stud);
 		}
+		
 
 		if ( isset($_GET['review']) && $_GET['review'] == 'yes' ) {
 			$cpt_studs = array_filter($cpt_studs, function ($stud) {
@@ -291,15 +335,36 @@ if (count($course_cpts) > 0) {
 				$cpt_stud->proficiency_d = $cpt_stud->proficiency == 1 ? get_string("yes") : get_string("no");
 				
 				$cpt_stud->link_cpt=$CFG->wwwroot."/blocks/competency_iena/course_competency.php?courseid=".$courseid."&studentid=".$cpt_stud->id."&competencyid=".$current_cpt->id;
-
+				$cpt_stud->link_assess=$CFG->wwwroot."/blocks/competency_iena/competency_iena_competency_students_2.php?courseid=".$courseid."&studentid=".$cpt_stud->id."&competencyid=".$current_cpt->id;
+				if(isset($grade)){
+					$cpt_stud->link_assess.="&grade=".$grade;
+				}
+				if(isset($proficiency)){
+					$cpt_stud->link_assess.="&grade=".$proficiency;
+				}
+				if(isset($review)){
+					$cpt_stud->link_assess.="&grade=".$review;
+				}
+				
+				//Rajouter les paramètres pour l'url pour retourner;
+				//L'évaluation ne marche pas
 			}
-			$data["cpt_studs"]=$cpt_studs;
+			$data["cpt_studs"]=array_values($cpt_studs);
+			//var_dump($cpt_studs);
+		}
+		else{
+
+			$message="Aucun étudiant ne correspond à la sélection.";
+
 		}
 
 	} else {
 		/* if all filters are not set ( ! isset GET... ) dont display the stud list */
+
 	}
 
+
+
 	$data["count_course_cpts"]=count($course_cpts);
 	$data["link_switch_cpt"]=$CFG->wwwroot."/blocks/competency_iena/competency_iena_competency_students_2.php";
 	$data["courseid"]=$courseid;
@@ -316,6 +381,7 @@ if (count($course_cpts) > 0) {
 	$data["options_proficiency"]=$options_proficiency;
 	$data["options_review"]=$options_review;
 	$data['link_dashboard']=$CFG->wwwroot."/blocks/competency_iena/competency_iena_students_2.php";
+	$data['message']=$message;
 
 
 	
diff --git a/templates/dashboard_competencies.mustache b/templates/dashboard_competencies.mustache
index 06030f6c708d25c5a0f0a7d06f3b780e25c7eae9..1793b5450f6d46271b26090ab6b6cce0aa52e79c 100644
--- a/templates/dashboard_competencies.mustache
+++ b/templates/dashboard_competencies.mustache
@@ -1,6 +1,6 @@
 <h2>{{# str }} dashboard_competencies, block_competency_iena{{/ str }}</h2>
 {{#count_course_cpts}}
-	<div class='container-fluid' id='dash-container'>
+	<div class='container-fluid'>
 		<div class='alert row' style='padding: 0; background-color: inherit; color: inherit;'>
 			<div class='col-12' style='padding-left: 0;'>
 				<form action='{{link_switch_cpt}}' id='change_cpt_form' class='form-inline' autocomplete='off' style='display: block;height: 1.5rem;'>
@@ -67,7 +67,7 @@
 				</form>
 			</div>
 		</div>
-		<div class='row'>
+		<div class='row' id='dash-container'>
 			<div class='col-12' style='padding: 0;'>
 			{{#cpt_studs}}
 				<div class='list-group-item list-group-item-action{{proficient_class}}'>
@@ -98,7 +98,7 @@
 									<button type='button' class='close' data-dismiss='modal' aria-label='Close'><span aria-hidden='true'>&times;</span></button>
 								</div>
 								<div class='modal-body'>
-									<form method='post' action='{{link_dashboard}}?courseid={{courseid}}&studentid={{cpt_studs.id}}&competencyid={{competencyid}}'>
+									<form method='post' action='{{link_assess}}'>
 										<div class='form-group'><div class='form-group'>
 											<label>Évaluation</label>
 											<select name='grade' class='form-control'>
@@ -121,7 +121,7 @@
 				</div>
 			{{/cpt_studs}}
 			{{^cpt_studs}}
-				<div class='alert alert-warning'>Aucun étudiant ne correspond à la sélection. </div>
+				<div class='alert alert-warning'>{{message}}</div>
 			{{/cpt_studs}}
 			</div>
 		</div>