From b15bb419ba9e249f290a7e84884d1a8a465521ce Mon Sep 17 00:00:00 2001 From: Paul Holden Date: Thu, 28 Mar 2019 12:58:43 +0000 Subject: [PATCH] MDL-63293 enrol_manual: observe user paging config in enrol dialog. --- .../build/form-potential-user-selector.min.js | Bin 1161 -> 1217 bytes .../form-potential-user-selector.min.js.map | Bin 7326 -> 7578 bytes .../amd/src/form-potential-user-selector.js | 13 +++++++------ enrol/manual/classes/enrol_users_form.php | 1 + .../manual/tests/behat/quickenrolment.feature | 10 ++++++++++ 5 files changed, 18 insertions(+), 6 deletions(-) diff --git a/enrol/manual/amd/build/form-potential-user-selector.min.js b/enrol/manual/amd/build/form-potential-user-selector.min.js index 3ec5e2c32c3049dcbcb82181db9ba6f25354e64b..d5262fbc291a7d0ea6ddcf361cd3a1dcb36c2318 100644 GIT binary patch delta 71 zcmeC=Jjl7>KBGigVv$0wZK6i1re0!6Ns)$9L26M!VtVT2y^K;Exti6vwuS}R@C6GL$Aqv7`e4)5Qvo diff --git a/enrol/manual/amd/build/form-potential-user-selector.min.js.map b/enrol/manual/amd/build/form-potential-user-selector.min.js.map index d4a96f390bb2e75487c07b2c54233a210b32b902..6b9b32d5236861eb5c1d2e9be566c78928171a1e 100644 GIT binary patch delta 453 zcmbPdIm>#32P1nyYEeOAdg^3XM*Gcuj4F(buA4VA1u{!IyXd$(I(j0N5^cZFpv=?U`w+b%GrogTY!uKmukU`<$~TJ8}o{7q|hXogK^Fsz8+C=0)7e zESsYRelkx!E6T%NmRO_!3)l<7qVPcW6PAIq`9;)up=uOt6$}jwHam%AA>w0;=rOob YMG?`-69ic{&lY>a0u$WaE-lUo03xr12mk;8 delta 391 zcmbPbJIoq?pQsZ-J9(_C(w3pi|HwhD#@2G*Om2{5uu)|KVkoG9wW$Oo6zRxpgon;al1Kl!@YLJpYl P=6dnJEC^n+j5s3zW$JP9 diff --git a/enrol/manual/amd/src/form-potential-user-selector.js b/enrol/manual/amd/src/form-potential-user-selector.js index 7fac602a91a..ab38b1ebb28 100644 --- a/enrol/manual/amd/src/form-potential-user-selector.js +++ b/enrol/manual/amd/src/form-potential-user-selector.js @@ -25,9 +25,6 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'], function($, Ajax, Templates, Str) { - /** @var {Number} Maximum number of users to show. */ - var MAXUSERS = 100; - return /** @alias module:enrol_manual/form-potential-user-selector */ { processResults: function(selector, results) { @@ -57,6 +54,10 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'], function($, Ajax, if (typeof enrolid === "undefined") { enrolid = ''; } + var perpage = $(selector).attr('perpage'); + if (typeof perpage === "undefined") { + perpage = 100; + } promise = Ajax.call([{ methodname: 'core_enrol_get_potential_users', @@ -66,7 +67,7 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'], function($, Ajax, search: query, searchanywhere: true, page: 0, - perpage: MAXUSERS + 1 + perpage: perpage + 1 } }]); @@ -74,7 +75,7 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'], function($, Ajax, var promises = [], i = 0; - if (results.length <= MAXUSERS) { + if (results.length <= perpage) { // Render the label. $.each(results, function(index, user) { var ctx = user, @@ -101,7 +102,7 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'], function($, Ajax, }); } else { - return Str.get_string('toomanyuserstoshow', 'core', '>' + MAXUSERS).then(function(toomanyuserstoshow) { + return Str.get_string('toomanyuserstoshow', 'core', '>' + perpage).then(function(toomanyuserstoshow) { success(toomanyuserstoshow); return; }); diff --git a/enrol/manual/classes/enrol_users_form.php b/enrol/manual/classes/enrol_users_form.php index b7fa663bba7..171aa261d25 100644 --- a/enrol/manual/classes/enrol_users_form.php +++ b/enrol/manual/classes/enrol_users_form.php @@ -92,6 +92,7 @@ class enrol_manual_enrol_users_form extends moodleform { 'multiple' => true, 'courseid' => $course->id, 'enrolid' => $instance->id, + 'perpage' => $CFG->maxusersperpage, 'userfields' => implode(',', get_extra_user_fields($context)) ); $mform->addElement('autocomplete', 'userlist', get_string('selectusers', 'enrol_manual'), array(), $options); diff --git a/enrol/manual/tests/behat/quickenrolment.feature b/enrol/manual/tests/behat/quickenrolment.feature index e44169e7c98..2208c7ca6ff 100644 --- a/enrol/manual/tests/behat/quickenrolment.feature +++ b/enrol/manual/tests/behat/quickenrolment.feature @@ -154,6 +154,16 @@ Feature: Teacher can search and enrol users one by one into the course And I click on ".form-autocomplete-downarrow" "css_element" in the "Select users" "form_row" Then I should see "Too many users (>100) to show" + @javascript + Scenario: Changing the Maximum users per page setting affects the enrolment pop-up. + Given the following config values are set as admin: + | maxusersperpage | 5 | + And I navigate to course participants + And I press "Enrol users" + When I set the field "Select users" to "student00" + And I click on ".form-autocomplete-downarrow" "css_element" in the "Select users" "form_row" + Then I should see "Too many users (>5) to show" + @javascript Scenario: Change the Show user identity setting affects the enrolment pop-up. Given I log out -- 2.43.0