MDL-63944 Question: Add toggle all to Quiz Activity
authorVinhLe <Vinh.LeThe@Nashtechglobal.com>
Tue, 12 Feb 2019 08:22:08 +0000 (15:22 +0700)
committerVinhLe <Vinh.LeThe@Nashtechglobal.com>
Fri, 15 Feb 2019 07:42:07 +0000 (14:42 +0700)
question/classes/bank/checkbox_column.php
question/classes/bank/view.php
question/tests/behat/select_questions.feature

index 916ef30..cddbaf7 100644 (file)
@@ -38,7 +38,6 @@ class checkbox_column extends column_base {
     protected function get_title() {
         $input = \html_writer::empty_tag('input', [
             'id' => 'qbheadercheckbox',
-            'title' => get_string('select'),
             'name' => 'qbheadercheckbox',
             'type' => 'checkbox',
             'value' => '1',
index b448a83..9225af8 100644 (file)
@@ -688,7 +688,7 @@ class view {
     protected function display_question_list($contexts, $pageurl, $categoryandcontext,
             $cm = null, $recurse=1, $page=0, $perpage=100, $showhidden=false,
             $showquestiontext = false, $addcontexts = array()) {
-        global $CFG, $DB, $OUTPUT;
+        global $CFG, $DB, $OUTPUT, $PAGE;
 
         // This function can be moderately slow with large question counts and may time out.
         // We probably do not want to raise it to unlimited, so randomly picking 5 minutes.
@@ -758,6 +758,8 @@ class view {
         }
         echo '</div>';
 
+        $PAGE->requires->js_call_amd('core_question/qbankmanager', 'init');
+
         $this->display_bottom_controls($totalnumber, $recurse, $category, $catcontext, $addcontexts);
 
         echo '</fieldset>';
@@ -773,14 +775,10 @@ class view {
      * @param array    $addcontexts contexts where the user is allowed to add new questions.
      */
     protected function display_bottom_controls($totalnumber, $recurse, $category, \context $catcontext, array $addcontexts) {
-        global $PAGE;
-
         $caneditall = has_capability('moodle/question:editall', $catcontext);
         $canuseall = has_capability('moodle/question:useall', $catcontext);
         $canmoveall = has_capability('moodle/question:moveall', $catcontext);
 
-        $PAGE->requires->js_call_amd('core_question/qbankmanager', 'init');
-
         echo '<div class="modulespecificbuttonscontainer">';
         if ($caneditall || $canmoveall || $canuseall) {
             echo '<strong>&nbsp;'.get_string('withselected', 'question').':</strong><br />';
index 66ea78d..b4b766e 100644 (file)
@@ -24,17 +24,17 @@ Feature: The questions in the question bank can be selected in various ways
       | Test questions   | numerical | C question 3 name | teacher1 | Question 3 text |
     And I log in as "teacher1"
     And I am on "Course 1" course homepage
-    And I navigate to "Questions" in current page administration
+    And I navigate to "Question bank > Questions" in current page administration
 
   @javascript
   Scenario: The question text can be chosen all in the list of questions
     Given the field "Select all" matches value ""
     When I click on "Select all" "checkbox"
-    Then the field "A question 1 name" matches value "1"
+    And the field "A question 1 name" matches value "1"
     And the field "B question 2 name" matches value "1"
     And the field "C question 3 name" matches value "1"
-    When I click on "Deselect all" "checkbox"
-    Then the field "A question 1 name" matches value ""
+    Then I click on "Deselect all" "checkbox"
+    And the field "A question 1 name" matches value ""
     And the field "B question 2 name" matches value ""
     And the field "C question 3 name" matches value ""
 
@@ -43,9 +43,9 @@ Feature: The questions in the question bank can be selected in various ways
     Given the field "Select all" matches value ""
     When I click on "A question 1 name" "checkbox"
     Then the field "Select all" matches value ""
-    When I click on "B question 2 name" "checkbox"
+    And I click on "B question 2 name" "checkbox"
     And I click on "C question 3 name" "checkbox"
-    Then the field "Deselect all" matches value "1"
+    And the field "Deselect all" matches value "1"
 
   @javascript
   Scenario: The action button can be disabled when the question not be chosen in the list of questions