From 22a2123ea6f4f07eb4dfdf9e86b746e12e950c7f Mon Sep 17 00:00:00 2001 From: Myriam Delaruelle <Myriam Delaruelle@bdn-un-mdelarue.ad.univ-lorraine.fr> Date: Fri, 9 Jul 2021 16:57:46 +0200 Subject: [PATCH] add activities --- competency_iena_competencies_api.php | 14 ++++++++------ entity/block_competency_iena_module.php | 9 +++++++-- js/matrix.js | 23 ++++++++++++++++++----- lang/en/block_competency_iena.php | 2 +- lang/fr/block_competency_iena.php | 2 +- styles.css | 3 ++- templates/modal_activities.mustache | 8 ++++---- 7 files changed, 41 insertions(+), 20 deletions(-) diff --git a/competency_iena_competencies_api.php b/competency_iena_competencies_api.php index 6423b9b..f9eb5e9 100644 --- a/competency_iena_competencies_api.php +++ b/competency_iena_competencies_api.php @@ -31,6 +31,7 @@ $course = $DB->get_record('course', array('id' => $courseid), '*', MUST_EXIST); require_login($course, false, NULL); + if ($_POST) { //Donne les infos sur la comp if (isset($_POST["idcompetence"])) { @@ -44,6 +45,7 @@ } //Ajoute un tableau d'id de compétences à la matrice if (isset($_POST["addcomp"])) { + echo "wtf friend ?"; $value = $_POST["addcomp"]; //return var_dump($value); @@ -69,7 +71,8 @@ } - else if (isset($_POST["addactivities"])) { + if (isset($_POST["addactivities"])) { + $value = $_POST["addactivities"]; //return var_dump($value); @@ -77,10 +80,10 @@ $errorInsert=false; $moduleI = new block_competency_iena_module(); - foreach($value[0] as $activityid){ - $is_insert = $refI->add_matrix_module($activityid, $value[1]); + foreach($value[0] as $activity){ + $is_insert = $moduleI->add_matrix_module($activity['id'], $activity['section_id']); if (!$is_insert) { - $resultInsert.=" ".$activityid.","; + $resultInsert.=" ".$activity->id.","; $errorInsert=true; } @@ -90,8 +93,7 @@ } else{ echo get_string('error_insert', 'block_competency_iena').$resultInsert; - } - + } } // updateTextRef if (isset($_POST["idref"])) { diff --git a/entity/block_competency_iena_module.php b/entity/block_competency_iena_module.php index 07c10a6..3d9c473 100644 --- a/entity/block_competency_iena_module.php +++ b/entity/block_competency_iena_module.php @@ -166,8 +166,13 @@ class block_competency_iena_module { $record = new stdClass(); $record->cmid=$cmid; $record->sectionid=$sectionid; - $request = $DB->insert_record('block_competency_iena', $record, false); - return $request; + + try { + $DB->insert_record('block_competency_iena', $record, false); + } catch (dml_exception $e) { + } + return true; + } public function delete_matrix_module($cmid, $sectionid){ diff --git a/js/matrix.js b/js/matrix.js index ee60ff6..4231001 100644 --- a/js/matrix.js +++ b/js/matrix.js @@ -156,11 +156,18 @@ function addActivities(url, idcourse){ var arrayActivities=[]; var activities = $('#tree-activities').find('.iena-checkbox-activities:checked'); for(var i=0; i<activities.length;i++){ - arrayActivities.push(activities[i].value); + + section_id=$(activities[i]).parents('.section-iena').attr("data-section"); + //section_id= + newActivity={id:activities[i].value, section_id:section_id} + arrayActivities.push(newActivity); } + + //return true; var value = []; value[0]=arrayActivities; value[1] = idcourse; + $.ajax({ url: url, type: 'POST', @@ -321,6 +328,7 @@ function changeColor(obj) function selectCompetency(obj){ $('#btn-comp-iena').removeAttr('disabled'); box = $(obj); + console.log(box); if(box.is(':checked')){ children=$(obj).parent().find('.iena-checkbox-cpt'); if(children.length>0){ @@ -349,10 +357,13 @@ function selectCompetency(obj){ //Sélectionne/déselectionne une activité et ses enfants function selectActivity(obj){ - console.log("on select une co"); - $('#btn-activities-iena').removeAttr('disabled'); + console.log("on select une activité"); + console.log($('#btn-activities-iena')); + $('#btn-activities-iena').removeAttr('disabled'); box = $(obj); + console.log(box); if(box.is(':checked')){ + console.log("ici chekc"); children=$(obj).parent().find('.iena-checkbox-activities'); if(children.length>0){ for(var i=0; i<children.length; i++){ @@ -362,6 +373,7 @@ function selectActivity(obj){ } } else if(!box.is(':checked')){ + console.log("ici pas check"); children=$(obj).parent().find('.iena-checkbox-activities'); if(children.length>0){ for(var i=0; i<children.length; i++){ @@ -371,8 +383,9 @@ function selectActivity(obj){ } } var count=countSelectedObjects('activities'); + console.log(count); if(count==0){ - $('#btn-activities-iena').prop('disabled', true);; + $('#btn-activities-iena').prop('disabled', true); } $("#iena-counter-activities").html(count); } @@ -383,7 +396,7 @@ function countSelectedObjects(object){ return $('#tree3').find('.iena-checkbox-cpt:checked').length; } else{ - return $('#tree-activities').find('.iena-checkbox-cpt:checked').length; + return $('#tree-activities').find('.iena-checkbox-activities:checked').length; } } diff --git a/lang/en/block_competency_iena.php b/lang/en/block_competency_iena.php index 0826b23..f582eb9 100644 --- a/lang/en/block_competency_iena.php +++ b/lang/en/block_competency_iena.php @@ -82,5 +82,5 @@ $string['activities_placeholder']="Filter activities/resources"; $string['count_activities']=" activities/resources selected"; $string['add_activities']="Add activities/resources"; - $string['select_act'] = 'Activites selector; + $string['select_act'] = 'Activities selector'; ?> \ No newline at end of file diff --git a/lang/fr/block_competency_iena.php b/lang/fr/block_competency_iena.php index 4a103cd..d340010 100644 --- a/lang/fr/block_competency_iena.php +++ b/lang/fr/block_competency_iena.php @@ -81,7 +81,7 @@ $string['activities_placeholder']="Filter les activités/ressources du cours"; $string['count_activities']=" activité(s)/ressource(s) sélectionnée(s)"; $string['add_activities']="Ajouter les activités/ressources"; - $string['select_act'] = 'Sélecteur d\'activités; + $string['select_act'] = 'Sélecteur d\'activités'; diff --git a/styles.css b/styles.css index 8aba9b9..d29d8af 100644 --- a/styles.css +++ b/styles.css @@ -158,7 +158,8 @@ } .fram-iena .iena-checkbox-cpt, -.iena-cpt-sel-tree .iena-checkbox-activities{ +.iena-cpt-sel-tree .iena-checkbox-activities, +.iena-cpt-sel-tree .iena-checkbox-section{ margin-right: 5px; vertical-align: middle; } diff --git a/templates/modal_activities.mustache b/templates/modal_activities.mustache index 3e95629..6288658 100644 --- a/templates/modal_activities.mustache +++ b/templates/modal_activities.mustache @@ -17,10 +17,10 @@ <div class="well well-lg iena-cpt-sel-tree mb-3"> <ul id='tree-activities'> - <li class='activity-iena '> + <li class='activity-iena'> {{#sections}} - <li class="activity-iena section-{{id}}"> - <input class="iena-checkbox-activities" onclick="selectActivity(this, 'section')" type="checkbox" id="{{name}}" value="{{id}}"><a>{{name}}</a> + <li class="activity-iena section-iena section-{{id}}" data-section="{{id}}"> + <input class="iena-checkbox-section" onclick="selectActivity(this, 'section')" type="checkbox" id="{{name}}" value="{{id}}"><a>{{name}}</a> <ul> {{#modules}} <li class="activity-iena"> @@ -39,7 +39,7 @@ <div class="iena-text-counter"> <span id="iena-counter-activities">0</span> {{#str}} count_activities, block_competency_iena {{/str}} </div> - <button id='btn-activities-iena' disabled='disabled' onclick="addActivities('{{update_activities_link}}', '{{courseid}}')" type="button" class="btn btn-success btn-block mb-3">{{# str }}add_activities, block_competency_iena{{/ str }}</button> + <button id='btn-activities-iena' disabled='disabled' onclick="addActivities('{{update_link}}', '{{courseid}}')" type="button" class="btn btn-success btn-block mb-3">{{# str }}add_activities, block_competency_iena{{/ str }}</button> </div> </div> -- GitLab