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
Branches
Tags
No related merge requests found
...@@ -39,8 +39,51 @@ $thingnode->make_active(); ...@@ -39,8 +39,51 @@ $thingnode->make_active();
/* Liste des compétences du cours */ /* Liste des compétences du cours */
$course_cpts = \core_competency\course_competency::list_competencies($COURSE->id); $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(); $current_cpt = new stdClass();
foreach ($course_cpts as $course_cpt) { foreach ($course_cpts as $course_cpt) {
$current_cpt->id = $course_cpt->get('id'); $current_cpt->id = $course_cpt->get('id');
...@@ -252,6 +295,7 @@ if (count($course_cpts) > 0) { ...@@ -252,6 +295,7 @@ if (count($course_cpts) > 0) {
array_push($cpt_studs, $cpt_stud); array_push($cpt_studs, $cpt_stud);
} }
if ( isset($_GET['review']) && $_GET['review'] == 'yes' ) { if ( isset($_GET['review']) && $_GET['review'] == 'yes' ) {
$cpt_studs = array_filter($cpt_studs, function ($stud) { $cpt_studs = array_filter($cpt_studs, function ($stud) {
...@@ -291,15 +335,36 @@ if (count($course_cpts) > 0) { ...@@ -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->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_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 { } else {
/* if all filters are not set ( ! isset GET... ) dont display the stud list */ /* if all filters are not set ( ! isset GET... ) dont display the stud list */
} }
$data["count_course_cpts"]=count($course_cpts); $data["count_course_cpts"]=count($course_cpts);
$data["link_switch_cpt"]=$CFG->wwwroot."/blocks/competency_iena/competency_iena_competency_students_2.php"; $data["link_switch_cpt"]=$CFG->wwwroot."/blocks/competency_iena/competency_iena_competency_students_2.php";
$data["courseid"]=$courseid; $data["courseid"]=$courseid;
...@@ -316,6 +381,7 @@ if (count($course_cpts) > 0) { ...@@ -316,6 +381,7 @@ if (count($course_cpts) > 0) {
$data["options_proficiency"]=$options_proficiency; $data["options_proficiency"]=$options_proficiency;
$data["options_review"]=$options_review; $data["options_review"]=$options_review;
$data['link_dashboard']=$CFG->wwwroot."/blocks/competency_iena/competency_iena_students_2.php"; $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> <h2>{{# str }} dashboard_competencies, block_competency_iena{{/ str }}</h2>
{{#count_course_cpts}} {{#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='alert row' style='padding: 0; background-color: inherit; color: inherit;'>
<div class='col-12' style='padding-left: 0;'> <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;'> <form action='{{link_switch_cpt}}' id='change_cpt_form' class='form-inline' autocomplete='off' style='display: block;height: 1.5rem;'>
...@@ -67,7 +67,7 @@ ...@@ -67,7 +67,7 @@
</form> </form>
</div> </div>
</div> </div>
<div class='row'> <div class='row' id='dash-container'>
<div class='col-12' style='padding: 0;'> <div class='col-12' style='padding: 0;'>
{{#cpt_studs}} {{#cpt_studs}}
<div class='list-group-item list-group-item-action{{proficient_class}}'> <div class='list-group-item list-group-item-action{{proficient_class}}'>
...@@ -98,7 +98,7 @@ ...@@ -98,7 +98,7 @@
<button type='button' class='close' data-dismiss='modal' aria-label='Close'><span aria-hidden='true'>&times;</span></button> <button type='button' class='close' data-dismiss='modal' aria-label='Close'><span aria-hidden='true'>&times;</span></button>
</div> </div>
<div class='modal-body'> <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'> <div class='form-group'><div class='form-group'>
<label>Évaluation</label> <label>Évaluation</label>
<select name='grade' class='form-control'> <select name='grade' class='form-control'>
...@@ -121,7 +121,7 @@ ...@@ -121,7 +121,7 @@
</div> </div>
{{/cpt_studs}} {{/cpt_studs}}
{{^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}} {{/cpt_studs}}
</div> </div>
</div> </div>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment