Skip to content
Snippets Groups Projects
Commit 36a26299 authored by Myriam Delaruelle's avatar Myriam Delaruelle
Browse files

Correction du bug competency de moodle : le export_template sur list_evidences...

Correction du bug competency de moodle : le export_template sur list_evidences lance une erreur si l'activité a été supprimée
parent 3a084820
No related branches found
No related tags found
No related merge requests found
...@@ -196,18 +196,43 @@ if ( $is_teacher ) { ...@@ -196,18 +196,43 @@ if ( $is_teacher ) {
$tool_lp_renderer = $PAGE->get_renderer('tool_lp'); $tool_lp_renderer = $PAGE->get_renderer('tool_lp');
$user_competency = \core_competency\api::get_user_competency($studentid, $competencyid); $user_competency = \core_competency\api::get_user_competency($studentid, $competencyid);
$user_cpt_all_data = new \tool_lp\output\user_competency_summary($user_competency);
$user_cpt_all_data = $user_cpt_all_data->export_for_template($tool_lp_renderer);
$all_evidences = $user_cpt_all_data->evidence;
//Evidences : on met la requête en sale ici pour le moment...
if ($user_competency) {
$params=array('usercompid'=> $user_competency->get('id'));
$sql = 'SELECT e.*, u.firstname, u.lastname, u.firstnamephonetic, u.lastnamephonetic, u.middlename, u.alternatename
FROM {competency_evidence} e
JOIN {context} c ON c.id = e.contextid
JOIN {user} u ON u.id=e.actionuserid
WHERE e.usercompetencyid = :usercompid
';
$all_evidences = $DB->get_records_sql($sql, $params);
}
//Pour récupérer l'user : user_summary_exporter::read_properties_definition()
/*$user_cpt_all_data = new \tool_lp\output\user_competency_summary($user_competency);
$user_cpt_all_data = $user_cpt_all_data->export_for_template($tool_lp_renderer);
$all_evidences = $user_cpt_all_data->evidence;*/
foreach($all_evidences as $evidence){
$userObj = $DB->get_record("user", array('id' => $evidence->actionuserid));
$evidence->actionuser=array();
$evidence->actionuser['fullname'] = fullname($userObj);
$evidence->actionuser['profileurl'] = new moodle_url('/user/profile.php', array('id' => $evidence->actionuserid));
$evidence->desca=json_decode($evidence->desca);
$evidence->description=new lang_string($evidence->descidentifier, $evidence->desccomponent, $evidence->desca);
}
//$all_evidences=$tool_lp_renderer->render_user_competency_summary($user_cpt_all_data);
if ( count($all_evidences) != 0 ) { if ( count($all_evidences) != 0 ) {
$user_cpt_course_data = new \tool_lp\output\user_competency_summary_in_course($studentid, $competencyid, $courseid); $user_cpt_course_data = new \tool_lp\output\user_competency_summary_in_course($studentid, $competencyid, $courseid);
$user_cpt_course_data = $user_cpt_course_data->export_for_template($tool_lp_renderer); $user_cpt_course_data = $user_cpt_course_data->export_for_template($tool_lp_renderer);
$course_evidences = $user_cpt_course_data->usercompetencysummary->evidence; $course_evidences = $user_cpt_course_data->usercompetencysummary->evidence;
$course_evidences_ids = array(); $course_evidences_ids = array();
foreach ($course_evidences as $course_evidence) { foreach ($course_evidences as $course_evidence) {
$course_evidences_ids[] = $course_evidence->id; $course_evidences_ids[] = $course_evidence->id;
} }
...@@ -242,14 +267,14 @@ if ( count($all_evidences) != 0 ) { ...@@ -242,14 +267,14 @@ if ( count($all_evidences) != 0 ) {
$ev->grade_make_proficient = ' list-group-item-light'; $ev->grade_make_proficient = ' list-group-item-light';
} else { } else {
/* proficient or not depending of rating in scale (set in framework by creator) */ /* proficient or not depending of rating in scale (set in framework by creator) */
$scale_rules = json_decode($user_cpt_all_data->competency->scaleconfiguration); $scale_rules = $cpt->get_scale();
foreach ($scale_rules as $scale_rule) { $ev->gradename=$scale_rules->scale_items[$ev->grade];
if ( isset($scale_rule->proficient) && $scale_rule->id == $ev->grade && $scale_rule->proficient == 1 ) {
if($cpt->get_proficiency_of_grade($ev->grade)==1){
$ev->grade_make_proficient = ' list-group-item-success'; $ev->grade_make_proficient = ' list-group-item-success';
break;
} else {
$ev->grade_make_proficient = '';
} }
else{
$ev->grade_make_proficient = '';
} }
} }
$ev->date = date("d/m/y – H:i", $ev->timemodified); $ev->date = date("d/m/y – H:i", $ev->timemodified);
...@@ -327,7 +352,7 @@ $data['review_msg']=$review_msg; ...@@ -327,7 +352,7 @@ $data['review_msg']=$review_msg;
$data['is_me']=$is_me; $data['is_me']=$is_me;
$data['link_review']=$CFG->wwwroot."/blocks/competency_iena/course_competency.php?courseid=".$courseid."&studentid=".$studentid."&competencyid=".$competencyid; $data['link_review']=$CFG->wwwroot."/blocks/competency_iena/course_competency.php?courseid=".$courseid."&studentid=".$studentid."&competencyid=".$competencyid;
$data['scale']=$scale; $data['scale']=$scale;
$data['all_evidences']=$all_evidences; $data['all_evidences']=array_values($all_evidences);
$data['count_all_evidences']=count($all_evidences); $data['count_all_evidences']=count($all_evidences);
if(isset($chart)){ if(isset($chart)){
$data['chart']=$OUTPUT->render($chart); $data['chart']=$OUTPUT->render($chart);
...@@ -335,7 +360,10 @@ if(isset($chart)){ ...@@ -335,7 +360,10 @@ if(isset($chart)){
$data['count_cm_ids']=count($cm_ids); $data['count_cm_ids']=count($cm_ids);
if($modules){
$data['cm_ids']=$modules; $data['cm_ids']=$modules;
}
$data['proficiency']=$proficiency; $data['proficiency']=$proficiency;
$data['proficiency_class']=$proficiency_class; $data['proficiency_class']=$proficiency_class;
$data['eval']=$eval; $data['eval']=$eval;
... ...
......
...@@ -83,7 +83,7 @@ list_evidence_in_course ...@@ -83,7 +83,7 @@ list_evidence_in_course
{ {
global $DB; global $DB;
try { try {
$competency = $DB->get_record_sql('select c.id, c.shortname, c.description, cu.proficiency, cu.grade $competency = $DB->get_record_sql('select c.id, c.shortname, c.description, cu.proficiency, cu.grade, cu.scaleconfiguration
FROM {competency} as c FROM {competency} as c
inner join {competency_usercompcourse} as cu on cu.competencyid = c.id inner join {competency_usercompcourse} as cu on cu.competencyid = c.id
WHERE c.id = ? AND cu.userid = ?', array($id_competency, $id_student)); WHERE c.id = ? AND cu.userid = ?', array($id_competency, $id_student));
... ...
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment