diff --git a/CHANGELOG.md b/CHANGELOG.md index efc9e9d420f40987f970c4e205f30ee96fa4ec3a..a07b30cd3b9bb904f8cbffed4233cd25dea809ff 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -105,6 +105,8 @@ Ne pas utiliser de méthodes root, quitte à abandonner des fonctionnalités. Tr [x] Le champ de recherche pour changer d'utilisateur est intégré à un encart avec le graphique. +[x] L'étudiant ne doit pas pouvoir voir les données d'un autre étudiant (en changeant l'id dans l'url, ni le formulaire pour changer d'étudiant. + [ ] Générer un lien vers la page cpt x users [ ] Exclure l'enseignant des tableau de bord : ne prendre que les rôles étudiants @@ -131,7 +133,7 @@ Ne pas utiliser de méthodes root, quitte à abandonner des fonctionnalités. Tr [ ] Exclure l'enseignant des tableau de bord : ne prendre que les rôles étudiants -### Page cpt x user +### Page cpt x user x course [ ] Récupérer toutes les données (ne marchera sûrement pas) diff --git a/competency_iena_competencies_2.php b/competency_iena_competencies_2.php index 0e17053574e360cc096a84ed868e235106552300..ff6adffd6500a2fbee3a152aaacf5589473d839e 100644 --- a/competency_iena_competencies_2.php +++ b/competency_iena_competencies_2.php @@ -15,6 +15,16 @@ $course = $DB->get_record('course', array('id' => $courseid), '*', MUST_EXIST); require_login($course, false, NULL); $PAGE->set_title(get_string('title_plugin', 'block_competency_iena')); +$is_student = false; +if (!has_capability('moodle/course:update', $context = context_course::instance($course->id), $USER->id)) { + $is_student = true; + if ( $studentid != $USER->id ) { + $link = $CFG->wwwroot . '/blocks/competency_iena/competency_iena_competencies_2.php?courseid=' . $courseid . '&studentid=' . $USER->id; + header("Location: {$link}"); + exit; + } +} + $course_cpts = \core_competency\course_competency::list_competencies($COURSE->id); $count_course_cpts = count($course_cpts); if ($count_course_cpts === 0) { @@ -70,20 +80,22 @@ if ($count_course_cpts === 0) { echo "<h2 class='h3'>{$student->firstname} {$student->lastname}</h2>"; - echo "<form action='{$CFG->wwwroot}/blocks/competency_iena/competency_iena_competencies_2.php' id='change_stud_form' class='form-inline'>"; - echo "<input type='text' hidden name='courseid' value='{$courseid}'>"; - echo "<span hidden id='studentid'>{$studentid}</span>"; - /* https://github.com/mfranzke/datalist-polyfill */ - 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 m-r-1'>"; - echo "<datalist id='student_list' title='Select student'>"; - foreach ($students as $stud) { - echo "<option value='{$stud->firstname} {$stud->lastname} ({$stud->id})' data-value='{$stud->id}'>{$stud->firstname} {$stud->lastname} ({$stud->id})</option>"; + if ( !$is_student ) { + echo "<form action='{$CFG->wwwroot}/blocks/competency_iena/competency_iena_competencies_2.php' id='change_stud_form' class='form-inline'>"; + echo "<input type='text' hidden name='courseid' value='{$courseid}'>"; + echo "<span hidden id='studentid'>{$studentid}</span>"; + /* https://github.com/mfranzke/datalist-polyfill */ + 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 m-r-1'>"; + echo "<datalist id='student_list' title='Select student'>"; + foreach ($students as $stud) { + echo "<option value='{$stud->firstname} {$stud->lastname} ({$stud->id})' data-value='{$stud->id}'>{$stud->firstname} {$stud->lastname} ({$stud->id})</option>"; + } + echo "</datalist>"; + echo "<div><button class='btn btn-secondary' id='prevStud'>Précédent</button>"; + echo "<button class='btn btn-secondary m-l-1' id='nextStud'>Suivant</button></div>"; + echo "</form>"; } - echo "</datalist>"; - echo "<div><button class='btn btn-secondary' id='prevStud'>Précédent</button>"; - echo "<button class='btn btn-secondary m-l-1' id='nextStud'>Suivant</button></div>"; - echo "</form>"; echo "<h2 class='h4 m-t-2'>Demandes d'évaluations <span class='badge badge-pill badge-primary' style='border-radius: 0.15rem;'>$reviews_count</span></h2>";