Skip to content
Snippets Groups Projects
Commit 0c6ae4c0 authored by Myriam Delaruelle's avatar Myriam Delaruelle
Browse files

fix assignment from competency dashboard

parent 5de03c99
No related branches found
No related tags found
No related merge requests found
......@@ -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;
......
<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>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment