Skip to content
Snippets Groups Projects
Commit 480cf61d authored by Thomas Fradet's avatar Thomas Fradet
Browse files

stud cpts list

parent a476004f
No related branches found
No related tags found
No related merge requests found
......@@ -84,14 +84,12 @@ Changement du nom du plugin (fichiers de langue).
Ne pas utiliser de méthodes root, quitte à abandonner des fonctionnalités. Trop instable.
[x] Lister les compétences de l'utilisateur
- ne trouve pas les users qui n'ont jamais eu d'évaluation sur les compétences : trouver la méthode qui les crée au passage (il y en a une dans l'api) parmi celles qui sont capables de lister les cpt des users => ou constituer la liste des cpt users d'une autre manière
[ ] Générer un tableau ou une liste propre
[ ] Pouvoir changer d'utilisateur via un champ de recherche dynamique
- champ intégré mais affiche un id au lieu du nom
[x] Pouvoir changer d'utilisateur via un champ de recherche dynamique
[ ] Pouvoir changer d'utilisateur via des boutons précédent, suivant
[x] Pouvoir changer d'utilisateur via des boutons précédent, suivant
[ ] Permettre de filtrer par proficiency et par grade
......
......@@ -25,6 +25,7 @@ require_login($course, false, NULL);
$PAGE->set_title(get_string('title_plugin', 'block_competency_iena'));
$PAGE->set_heading($OUTPUT->heading($COURSE->fullname, 2, 'headingblock header outline'));
$PAGE->requires->js("/blocks/competency_iena/js/datalist-polyfill.min.js");
$PAGE->requires->js("/blocks/competency_iena/js/stud-x-cpts.js");
echo $OUTPUT->header();
......@@ -60,28 +61,38 @@ $user_course_competencies = \core_competency\api::list_user_competencies_in_cour
// }
// echo "</pre>";
echo "<form action='{$CFG->wwwroot}/blocks/competency_iena/competency_iena_competencies_2.php'>";
echo "<form action='{$CFG->wwwroot}/blocks/competency_iena/competency_iena_competencies_2.php' id='change_stud_form' class='form-inline m-b-1 alert alert-secondary'>";
echo "<input type='text' hidden name='courseid' value='{$courseid}'>";
echo "<span hidden id='studentid'>{$studentid}</span>";
// https://github.com/mfranzke/datalist-polyfill
echo "<input type='text' name='studentid' id='studentid_sel' value='' list='student_list' class='dtlst'>";
echo "<label class='m-y-1 m-r-1' for='studentid_sel' style='color: black;'>Etudiant</label>";
echo "<input type='text' name='studentid' id='studentid_sel' value='' list='student_list' class='form-control'>";
echo "<datalist id='student_list' title='Select student'>";
foreach ($students as $stud) {
echo "<option value='{$stud->id}'>{$stud->firstname} {$stud->lastname}</option>";
echo "<option value='{$stud->firstname} {$stud->lastname} ({$stud->id})' data-value='{$stud->id}'>{$stud->firstname} {$stud->lastname} ({$stud->id})</option>";
}
echo "</datalist>";
echo "<button type='submit'>Rechercher</button>";
$change_stud_url = $CFG->wwwroot."/blocks/competency_iena/competency_iena_competencies_2.php?courseid=".$courseid."&studentid=";
// echo "<a href='{$change_stud_url}' class='btn btn-secondary m-l-1' id='prevStud'>Précédent</a>";
// echo "<a href='{$change_stud_url}' class='btn btn-secondary m-l-1' id='nextStud'>Suivant</a>";
echo "<button class='btn btn-secondary m-l-1' id='prevStud'>Précédent</button>";
echo "<button class='btn btn-secondary m-l-1' id='nextStud'>Suivant</button>";
echo "</form>";
echo "<h2>{$student->firstname} {$student->lastname}</h2>";
foreach ($user_course_competencies as $user_course_competency) {
echo "<div class='alert alert-secondary'>";
$cpt = new \core_competency\competency($user_course_competency->get('id'));
$cpt = new \core_competency\competency($user_course_competency->get('competencyid'));
echo "<h3 id='{$cpt->get('id')}'>{$cpt->get('shortname')}</h3>";
$cpt_scale = $cpt->get_scale()->scale_items;
if ( $user_course_competency->get('grade') == null ) {
$eval = "Non évalué";
$eval = "-";
} else {
$eval = $cpt_scale[$user_course_competency->get('grade') - 1];
}
......
(function() {
window.onload = function () {
var opts = document.getElementById('student_list').childNodes;
var studentid = document.getElementById('studentid').innerHTML;
for (var i = 0; i < opts.length; i++) {
if (opts[i].dataset.value === studentid) {
var prev = opts[i - 1] === undefined ? false : opts[i - 1].dataset.value;
var next = opts[i + 1] === undefined ? false : opts[i + 1].dataset.value;
if (prev === false) {
document.getElementById('prevStud').setAttribute('disabled', 'disabled');
} else {
// document.getElementById('prevStud').href += prev;
document.getElementById('prevStud').dataset.prev = prev;
document.getElementById('prevStud').onclick = function () {
document.getElementById('studentid_sel').value = document.getElementById('prevStud').dataset.prev;
}
}
if (next === false) {
document.getElementById('nextStud').setAttribute('disabled', 'disabled');
} else {
// document.getElementById('nextStud').href += next;
document.getElementById('nextStud').dataset.next = next;
document.getElementById('nextStud').onclick = function () {
document.getElementById('studentid_sel').value = document.getElementById('nextStud').dataset.next;
}
}
}
}
};
// remplace le nom de l'étu par son id dans la valeur de l'input puis soumet le formulaire
document.getElementById('studentid_sel').oninput = function (e) {
var val = document.getElementById('studentid_sel').value;
var opts = document.getElementById('student_list').childNodes;
for (var i = 0; i < opts.length; i++) {
if (opts[i].value === val) {
document.getElementById('studentid_sel').value = opts[i].dataset.value;
document.getElementById('change_stud_form').submit();
}
}
};
})()
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment