diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000000000000000000000000000000000000..40bd54f16d561099a6d47f6d12fc559108050276 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,15 @@ +# 19/02/19 + +## Page d'un compétence d'un utilisateur dans le cours + +L'échelle du référentiel était utilisée pour l'évaluation des compétences, au lieu de l'échelle de la compétence, si elle est paramétrée (différente de celle du référentiel). Ceci pour l'évaluation sur zone de la compétence active, ou l'évaluation rapide. + +Le chargement d'une page contenant des sous-compétences ne fonctionnait plus en version 3.5.4+ : résolut par le changement sur le point précédent. + +# Backlog + +## Page d'un compétence d'un utilisateur dans le cours + +Il est peut-être possible de rappeler les preuves déposées dans les plans de formation au niveau de cette page et pourquoi pas d'y lier de nouvelles preuves, possiblement depuis les pages ou collections Mahara. La lecture et liaison de preuves au niveau user et non user x course, directement depuis le contexte d'un cours, sans passer par les plans de formation, éviterait d'y avoir recours et donc de les créer / paramétrer / suivre, etc. + +Dans l'accordéon qui permet de visualiser les niveaux supérieur dans le référentiel de compétence, ajouter un bouton pour se rendre sur la page du niveau considéré. Actuellement, il n'est possible que de descendre dans un niveau inférieur. diff --git a/README.md b/README.md index f8433e69c5b55cd5b9b1485061d2784ff9bb8809..91d17008ecd50b917465d59a61db713ce32ec861 100644 --- a/README.md +++ b/README.md @@ -30,6 +30,12 @@ Pour tout autre sujet : <iena-contact@univ-lorraine.fr>. Other : <iena-contact@univ-lorraine.fr>. +## Installation + +Plugin folder name have to be `competency_iena`. + +This plugin is build upon MOODLE Competency functionnalities. So it require competency activation in site administration. + ## Fonctionnalités __Pour plus d'informations, consultez le [wiki](https://gitlab.univ-lorraine.fr/fradet1/iena-competency/wikis/home).__ @@ -48,7 +54,7 @@ Cette page dispose d'un formulaire de contact qui permet à un administrateur de Enseignants et étudiants disposent de listes des compétences travaillés dans un cours et peuvent en voir l'état d'acquisition. -### Page Compétence de l'tudiant +### Page Compétence de l'étudiant Pour chaque compétence au sein du cours, l'étudiant dispose d'une page à laquelle l'enseignant et lui peuvent accéder. Cette page contient l'état d'acquisition de la compétence, les modules de cours qui y sont liés, les fonctionnalités de demande d'évaluation et d'évaluation, une zone de commentaire pour échanger et un historique complet du travail sur cette compétence au sein du cours et en dehors. diff --git a/db/tasks.php b/db/tasks.php index 0e551ada8a6f5fc8ba1d0eb98c7fed1f4a6f1bb2..52a232ba8bfee663e8f5392c76ce244b17f02273 100644 --- a/db/tasks.php +++ b/db/tasks.php @@ -8,34 +8,36 @@ defined('MOODLE_INTERNAL') || die(); -$tasks = array( - array( - 'classname' => 'block_competency_iena\task\sync_task_iena_roles', - 'blocking' => 0, - 'minute' => '0', - 'hour' => '0', - 'day' => '0', - 'month' => '0', - 'dayofweek' => '0' - ), +$tasks = []; - array( - 'classname' => 'block_competency_iena\task\sync_task_iena_roles_complete', - 'blocking' => 0, - 'minute' => '0', - 'hour' => '0', - 'day' => '0', - 'month' => '0', - 'dayofweek' => '0' - ), +// $tasks = array( +// array( +// 'classname' => 'block_competency_iena\task\sync_task_iena_roles', +// 'blocking' => 0, +// 'minute' => '0', +// 'hour' => '0', +// 'day' => '0', +// 'month' => '0', +// 'dayofweek' => '0' +// ), - array( - 'classname' => 'block_competency_iena\task\sync_task_iena_competency', - 'blocking' => 0, - 'minute' => '0', - 'hour' => '0', - 'day' => '0', - 'month' => '0', - 'dayofweek' => '0' - ) -); \ No newline at end of file +// array( +// 'classname' => 'block_competency_iena\task\sync_task_iena_roles_complete', +// 'blocking' => 0, +// 'minute' => '0', +// 'hour' => '0', +// 'day' => '0', +// 'month' => '0', +// 'dayofweek' => '0' +// ), + +// array( +// 'classname' => 'block_competency_iena\task\sync_task_iena_competency', +// 'blocking' => 0, +// 'minute' => '0', +// 'hour' => '0', +// 'day' => '0', +// 'month' => '0', +// 'dayofweek' => '0' +// ) +// ); \ No newline at end of file diff --git a/version.php b/version.php index 2cc09ca7a821efa8a5a59b356af1490f33c63dc6..31bc26ccc99dd0988175b49720459b2490a673a7 100644 --- a/version.php +++ b/version.php @@ -28,7 +28,7 @@ */ defined('MOODLE_INTERNAL') || die(); -$plugin->version = 2018102201; +$plugin->version = 2019021904; $plugin->requires = 2014051200; $plugin->component = 'block_competency_iena'; $plugin->release = 'v1.0'; diff --git a/view/view_competency_iena_user.php b/view/view_competency_iena_user.php index c01d8b0dd56ceebfbfcd0f6a67db65f01cc56714..480887d3a0a3c59eff8f1d18fa17916232653aed 100644 --- a/view/view_competency_iena_user.php +++ b/view/view_competency_iena_user.php @@ -52,8 +52,17 @@ class view_competency_iena_user $module_comp = $module_instance->get_modules_by_competencyID($competencyid); $data = $competency_instance->get_data($tmpiduser, $competencyid, $COURSE->id); - $scale = \grade_scale::fetch(array('id' => $data->usercompetencysummary->competency->framework->scaleid)); + $scale = \grade_scale::fetch(array('id' => $data->usercompetencysummary->competency->scaleid)); $scale->load_items(); + + // $core_comp = core_competency\api::read_competency($competencyid); + + // echo "<pre>"; + // var_dump($data); + // var_dump($data->usercompetencysummary->competency->scaleid); + // var_dump($scale); + // echo "</pre>"; + //var_dump($scale->scale_items);die; $student_instance = new block_competency_iena_student(); @@ -110,6 +119,7 @@ class view_competency_iena_user if ( count( $in_course_descendant_ids ) > 0 ) { $children_competencies = []; foreach ( $in_course_descendant_ids as $child_id ) { + $child_competency = core_competency\api::read_competency($child_id); if ( $child_competency->get('parentid') != $competencyid ) { continue; @@ -121,10 +131,18 @@ class view_competency_iena_user $tmp_cpt = new StdClass(); $tmp_cpt->id = $child_competency->get('id'); $tmp_cpt->name = $child_competency->get('shortname'); - // var_dump($child_competency); - $scale = \grade_scale::fetch( ['id' => $child_competency->get('scaleid')] ); - // var_dump($scale); - $tmp_cpt->scale = $scale->load_items(); + // echo "<pre>"; + // var_dump($child_in_course_competency); + + // before + // $scale = \grade_scale::fetch( ['id' => $child_competency->get('scaleid')] ); + // $tmp_cpt->scale = $scale->load_items(); + + // after + $data = $competency_instance->get_data($tmpiduser, $child_id, $COURSE->id); + $sub_scale = \grade_scale::fetch(array('id' => $data->usercompetencysummary->competency->scaleid)); + $tmp_cpt->scale = $sub_scale->load_items(); + $tmp_cpt->proficiency = $child_in_course_competency->get('proficiency'); $tmp_cpt->grade = $child_in_course_competency->get('grade'); $children_competencies[] = $tmp_cpt; @@ -502,15 +520,13 @@ class view_competency_iena_user $val_asked = $DB->get_record_sql('select * FROM {competency_usercomp} WHERE competencyid = ? AND userid = ?', array($competencyid, $tmpiduser)); - if (has_capability('moodle/course:update', - $context = context_course::instance($COURSE->id), $USER->id)) { + if ( has_capability('moodle/course:update', + $context = context_course::instance($COURSE->id), $USER->id) ) { if ( $val_asked->status == "1" ) { echo "<div class='alert alert-info'>Validation / Evaluation demandée par l'étudiant</div>"; } - // var_dump($val_asked); - echo "<button type=\"button\" class=\"btn btn-primary\" id='eval-show'>".get_string('evalute_iena', 'block_competency_iena')."</button> <div id='eval-hide'> @@ -722,7 +738,7 @@ class view_competency_iena_user <?php foreach ($dataSum->evidence as $value) { - // echo "<div class=\"well well-small evidence\" id=\"proof_iena_id_$value->id\"> + /*echo "<div class=\"well well-small evidence\" id=\"proof_iena_id_$value->id\">*/ echo "<div class=\"card card-block\" id=\"proof_iena_id_$value->id\"> <div class=\"card-body\"> <div class=\"pull-xs-right iena-cpt-abs-right\"> @@ -761,19 +777,19 @@ class view_competency_iena_user <h2 class="title_blue"><?php echo get_string('history_comp', 'block_competency_iena') . " (" . $history_size . ")"; ?></h2> <?php if ( $usercomp_id != NULL ): ?> - <a target="_blank" href="http://localhost:8888/moodle35/admin/tool/lp/user_competency.php?id=<?php echo $usercomp_id; ?>" class="btn btn-block btn-default m-y-1">Consulter les informations pour tous les cours</a> - <? endif; ?> + <a target="_blank" href="<?php echo $CFG->wwwroot ?>/admin/tool/lp/user_competency.php?id=<?php echo $usercomp_id; ?>" class="btn btn-block btn-default m-y-1">Consulter les informations pour tous les cours</a> + <?php endif; ?> - <?php if ($history_size != 0) { ?> + <?php if ($history_size != 0): ?> <!-- height: < ? p h p echo $taille_proof ?>rem; --> <div class="block_compet_param commentaire" id="proof_iena" style="max-height: 29rem; overflow: scroll; border: 1px solid #ccc; border-radius: 0.15rem; padding: 1rem; margin-bottom: 1rem;"> <div class="entete"> <?php - foreach ($data->usercompetencysummary->evidence as $value) { - // echo "<div class=\"well well-small evidence\" id=\"proof_iena_id_$value->id\"> + + /*echo "<div class=\"well well-small evidence\" id=\"proof_iena_id_$value->id\">*/ echo "<div class=\"card card-block\" id=\"proof_iena_id_$value->id\"> <div class=\"card-body\"> <div class=\"pull-xs-right iena-cpt-abs-right\"> @@ -808,60 +824,48 @@ class view_competency_iena_user </div> </div> - <?php /*if ($taille_proof == 25) { ?> - <!--<div class="align_center" id="extand_iena_proof" style="cursor: pointer;"> - <span class="down_caret"> - <i class="fa fa-chevron-down"></i> - </span> - </div> --> - <?php }*/ ?> - <?php } else { - /*try { - // echo "<p style='padding:1rem; '>". get_string('empty', 'block_competency_iena')."</p>"; - } catch (coding_exception $e) { - }*/ - } ?> - </section> - </div> - - </div> - </div> - - - <script> - - function delete_comment(obj) { - var url = window.location.href; - - var t = obj.parentNode.parentNode.parentNode.parentNode; - var info = []; - info[0] = "delete"; - info[1] = obj.id; - - $.ajax({ - type: "POST", - data: {info: info}, - url: url, - timeout: 10000, - contentType: 'application/x-www-form-urlencoded', - success: function (data, status) { - if (status == "success") { - console.log(status); - console.log(data); - location.reload(); - } - }, - error: function (xhr, status, error) { - alert(status); + <?php endif; ?> +</section> +</div> + +</div> +</div> + + +<script> + + function delete_comment(obj) { + var url = window.location.href; + + var t = obj.parentNode.parentNode.parentNode.parentNode; + var info = []; + info[0] = "delete"; + info[1] = obj.id; + + $.ajax({ + type: "POST", + data: {info: info}, + url: url, + timeout: 10000, + contentType: 'application/x-www-form-urlencoded', + success: function (data, status) { + if (status == "success") { + console.log(status); + console.log(data); + location.reload(); } - }); + }, + error: function (xhr, status, error) { + alert(status); + } + }); - } + } - function toggle_comments() { - if (document.getElementById("comment-list-plancommentarea2").style.display === 'none') { - document.getElementById("comment-list-plancommentarea2").style.display = 'block'; + function toggle_comments() { + if (document.getElementById("comment-list-plancommentarea2").style.display === 'none') { + document.getElementById("comment-list-plancommentarea2").style.display = 'block'; // console.log(document.getElementById("comment-list-plancommentarea2").style.display); } else { document.getElementById("comment-list-plancommentarea2").style.display = 'none';