Commit a65a84df authored by Thomas Fradet's avatar Thomas Fradet

Merge branch 'dev'

parents 9c2ca105 3a7e43a5
# 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.
......@@ -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.
......
......@@ -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
......@@ -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';
......
......@@ -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';
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment