Merge branch 'MDL-68984-master' of git://github.com/mickhawkins/moodle
authorVíctor Déniz Falcón <victor@moodle.com>
Tue, 9 Jun 2020 12:45:40 +0000 (13:45 +0100)
committerVíctor Déniz Falcón <victor@moodle.com>
Tue, 9 Jun 2020 12:45:40 +0000 (13:45 +0100)
user/classes/table/participants_search.php
user/tests/behat/filter_participants.feature

index 0d94483..1970c21 100644 (file)
@@ -265,9 +265,9 @@ class participants_search {
             }
         }
 
-        // Add any supplied additional WHERE clauses.
+        // Add any supplied additional forced WHERE clauses.
         if (!empty($additionalwhere)) {
-            $wheres[] = $additionalwhere;
+            $innerwhere .= " AND ({$additionalwhere})";
             $params = array_merge($params, $additionalparams);
         }
 
index 5e243dd..60475cd 100644 (file)
@@ -664,3 +664,25 @@ Feature: Course participants can be filtered
     And I should not see "Student 2" in the "participants" "table"
     And I should not see "Student 3" in the "participants" "table"
     And I should not see "Teacher 1" in the "participants" "table"
+
+  @javascript
+  Scenario: Initials filtering is always applied in addition to any other filtering
+    Given I log in as "teacher1"
+    And I am on "Course 2" course homepage
+    And I navigate to course participants
+    And I should see "Student 1" in the "participants" "table"
+    And I should see "Student 2" in the "participants" "table"
+    And I should see "Student 3" in the "participants" "table"
+    And I should see "Trendy Learnson" in the "participants" "table"
+    And I should see "Teacher 1" in the "participants" "table"
+    When I set the field "Match" in the "Filter 1" "fieldset" to "Any"
+    And I set the field "type" in the "Filter 1" "fieldset" to "Role"
+    And I click on ".form-autocomplete-downarrow" "css_element" in the "Filter 1" "fieldset"
+    And I click on "Student" "list_item"
+    And I click on "Apply filters" "button"
+    When I click on "T" "link" in the ".firstinitial" "css_element"
+    Then I should see "Trendy Learnson" in the "participants" "table"
+    And I should not see "Student 1" in the "participants" "table"
+    And I should not see "Student 2" in the "participants" "table"
+    And I should not see "Student 3" in the "participants" "table"
+    And I should not see "Teacher 1" in the "participants" "table"