From a86cea693355a026918d4b0431245913df2a8651 Mon Sep 17 00:00:00 2001 From: Myriam Delaruelle <myriam.delaruelle@univ-lorraine.fr> Date: Thu, 20 Oct 2022 15:01:51 +0200 Subject: [PATCH] disable action select when no students is selected --- amd/build/suivi-table.js | 21 +++++++++++++++++++++ amd/build/suivi.js | 7 +++---- js/file.js | 17 ----------------- send_message.php | 5 ++--- suivi_unit.php | 4 ++-- templates/suivi-table.mustache | 2 +- 6 files changed, 29 insertions(+), 27 deletions(-) diff --git a/amd/build/suivi-table.js b/amd/build/suivi-table.js index 0dccd03..5d0388b 100644 --- a/amd/build/suivi-table.js +++ b/amd/build/suivi-table.js @@ -24,12 +24,17 @@ define(['jquery'], function($) { var all_selected=false; + console.log($(".checkstudent")); + $("#select-actions-suivi-iena").prop("disabled", true); return{ registerSelectAll:function(){ all_selected=false; $('#iena-select-all').on('click', function(e){ select_all_studs(e); }); + $(".checkstudent").on("click", function(){ + checkSelectActions(); + }) @@ -49,8 +54,24 @@ define(['jquery'], counter++; } } + checkSelectActions(); } + function checkSelectActions(){ + if($("#select-actions-suivi-iena").prop("disabled") == false){ + var selectedChecks=$("#table-body input:checked"); + if(selectedChecks.length==0){ + $("#select-actions-suivi-iena").prop("disabled", true); + } + } + else{ + $("#select-actions-suivi-iena").prop("disabled", false); + } + + } + + + }); diff --git a/amd/build/suivi.js b/amd/build/suivi.js index 7480dba..6190a56 100644 --- a/amd/build/suivi.js +++ b/amd/build/suivi.js @@ -25,6 +25,7 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'], function($, ajax, templates, str) { var all_selected=false; var data=[]; + return{ registerFilters:function(){ @@ -49,6 +50,7 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'], $("#symbol-select").on('change', function(){ changeCompletion(); }); + changeSection(); /*calcPercentage(data); @@ -203,7 +205,6 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'], } function loadMessage(type){ - console.log("on load"); if(type=="loading"){ var message = str.get_string('loadingResults', 'format_iena'); @@ -218,11 +219,9 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'], } function reloadTable(params){ - console.log(params); url=getCompleteUrl(); templates.render('format_iena/suivi-table', params) .done(function(html, js){ - console.log("done done"); $("#partial-table").html(html); templates.runTemplateJS(js); window.history.pushState('suivi',"", url); @@ -426,7 +425,7 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'], //reloadTable(data); } - + diff --git a/js/file.js b/js/file.js index 73acc9a..3bb53ac 100644 --- a/js/file.js +++ b/js/file.js @@ -46,13 +46,6 @@ } } var url = 'suivi_unit.php?courseid=' + $('#courseID').val(); - console.log(result); - console.log(result.toString()); - // var form = $('<form action="' + url + '" method="post">' + - // '<input type="text" name="api_url" value="' + result.toString() + '" />' + - // '</form>'); - // $('body').append(form); - // form.submit(); }); $('.sectionH').hide(); @@ -103,16 +96,9 @@ students.hide(); students = $('#example tbody tr'); - // var students = $('.student-row'); - // console.log(students) - var sel_student = $('#select-student').val(); - // console.log('filtrer : ' + sel_student); var sel_group = $('#select-group').val().replace('id_groupe', ''); - // console.log('group : ' + sel_group); var sel_section = $('#select-section').val(); - // console.log('section : ' + sel_section); - students.each(function (i, el) { var show = false; if ( sel_group == "groupAll" ) { @@ -120,7 +106,6 @@ } else { var groups = el.dataset.groups.split('-'); groups.shift(); - // console.log(groups) if (groups.length > 0 && groups.indexOf(sel_group) > -1) { show = true; } @@ -129,12 +114,10 @@ if ( sel_student == 'studentFilter' ) { var completed = el.dataset.completed.split('-'); completed.shift(); - // console.log(completed) if (completed.length == 0 || completed.indexOf(sel_section.replace('section-', '')) > -1) { show = false; } } - if (show) { var elem = el.getAttribute('class').match(/iena-stud-[0-9]+/)[0]; $("." + elem).show(); diff --git a/send_message.php b/send_message.php index e5ddc59..6d35982 100644 --- a/send_message.php +++ b/send_message.php @@ -70,12 +70,11 @@ if ($nb == 0) { // If form is cancelled, we go back to the table. // Else, we send the message and then go back to the table, with a success or failure message. +$backurl = $CFG->wwwroot . '/course/format/iena/suivi_unit.php'.$backurl; if ($sendmessage->is_cancelled()) { - $backurl = $CFG->wwwroot . '/course/format/iena/suivi_unit.php'.$backurl; - header("Location: {$backurl}"); } else if ($fromform = $sendmessage->get_data()) { - $backurl = $CFG->wwwroot . '/course/format/iena/suivi_unit.php'.$backurl; + try { $messagecontent = $fromform->summary['text']; diff --git a/suivi_unit.php b/suivi_unit.php index 698ff2f..48f07d5 100644 --- a/suivi_unit.php +++ b/suivi_unit.php @@ -177,8 +177,8 @@ function get_sections($activesectionid) { function set_filters($data, $filters, $symbols, $sections, $groups, $currentusergroups, $activegroupname, $activesectionid) { if (isset($_GET['filter'])) { $filtercomplete = $_GET['filter']; - $symbols[substr($filtercomplete, 0, 1)]->selected = "selected"; - $filters[substr($filtercomplete, 1)]->selected = "selected"; + $symbols[mb_substr($filtercomplete, 0, 1, 'UTF-8')]->selected = "selected"; + $filters[mb_substr($filtercomplete, 1, null, 'UTF-8')]->selected = "selected"; } else { $filters["0"]->selected = "selected"; $symbols["≥"]->selected = "selected"; diff --git a/templates/suivi-table.mustache b/templates/suivi-table.mustache index 0c8ddc2..c7454c5 100644 --- a/templates/suivi-table.mustache +++ b/templates/suivi-table.mustache @@ -28,7 +28,7 @@ {{#visible}} <tr data-userid="{{id}}" data-percent={{percentage}}> <td class="first-column-iena"> - <input type="checkbox" name="checkstudent" value="{{id}}"> + <input type="checkbox" class="checkstudent" name="checkstudent" value="{{id}}"> </td> <td class="second-column-iena"> <span class="stud_perc">{{percentage}} %</span> -- GitLab