Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-59366

Add filter controls to the participants page to allow custom filtering

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 3.4
    • Fix Version/s: 3.4
    • Component/s: Enrolments
    • Labels:
    • Testing Instructions:
      Hide
      Setup
      1. Create a course C1 with group mode set to "Separate groups".
      2. Enrol some students (s1, s2, s3, s4) and teachers (t1, t2) to C1
      3. Create two groups (g1 and g2) and add students s1 and s2 to g1 and s1 and s3 to g2.
      4. Create a course C2 with group mode set to "No groups"
      5. Enrol the students and teachers to C2.
      As a teacher in a course with groups
      1. Login as a teacher.
      2. Go to the C1's course participants page.
      3. Expand the filters field.
        • Confirm that you can see options that allow you to filter by:
          • Last access to course ("Inactive for more than: ...") - Note that this might not show up if none of the users have logged in to the course for more than a day ago.
          • Enrolment methods
          • Group
          • Role
          • Status
      4. Select the "Role: Teacher" filter option
      5. Expand the filter field again.
        • Confirm that the other filter options for the Role category are not shown in the list.
      6. Click on the "Filter" button.
        • Confirm that only the course participants with the Teacher role are being listed in the participants table.
      7. Deselect the selected "Role: Teacher" option.
      8. Expand the filter field again.
        • Confirm that the filter options for the Role category are now back on the list.
      9. Apply multiple filter options.
        • Confirm that you can apply multiple filter options, but you can only select one filter option per filter category.
      10. Click on the "Filter" button.
        • Confirm that the search results are consistent with the filters applied.
      11. Clear the filters.
      12. Enter the name of a course participant into the filter field and click enter.
      13. Click the "Filter" button.
        • Confirm that the user with the name entered into the filters field comes up on the search results.
      As a student in a course with groups
      1. Login as s1.
      2. Go to C1's course participants page.
      3. Check the filters field.
        • Confirm that either g1 or g2 is pre-applied for the filters field when the participants page is loaded.
      4. Check the participants table.
        • If g1 is pre-selected, confirm that only members belonging to g1 are shown.
        • Otherwise, if ge is pre-selected, confirm that only members belonging to g2 are shown.
      5. Expand the filters field.
        • Confirm that you can see options that allow you to filter by:
          • Last access to course ("Inactive for more than: ...") - Note that this might not show up if none of the users have logged in to the course for more than a day ago.
          • Role
          • Group
      6. Login as s4.
      7. Go to C1's course participants page.
        • Confirm that you see an error notification in the page that you must be in a group and the filters field and the participants table is not being shown.
      In a course with no groups.
      1. Login as a teacher and go to C2's course participants page.
      2. Expand the filters field.
        • Confirm that you don't see the filter options related to groups.
      Smoke test
      1. Play around the filters field – selecting multiple filter combinations + keyword(s).
        • Confirm that the filtered results remain consistent with the applied filters.
          (Note: You may enter multiple keywords, but they will be queried in an "AND" fashion, so for example you enter s1 and s2, then you might not get any search results.)
      Show
      Setup Create a course C1 with group mode set to "Separate groups". Enrol some students (s1, s2, s3, s4) and teachers (t1, t2) to C1 Create two groups (g1 and g2) and add students s1 and s2 to g1 and s1 and s3 to g2. Create a course C2 with group mode set to "No groups" Enrol the students and teachers to C2. As a teacher in a course with groups Login as a teacher. Go to the C1's course participants page. Expand the filters field. Confirm that you can see options that allow you to filter by: Last access to course ("Inactive for more than: ...") - Note that this might not show up if none of the users have logged in to the course for more than a day ago. Enrolment methods Group Role Status Select the " Role: Teacher " filter option Expand the filter field again. Confirm that the other filter options for the Role category are not shown in the list. Click on the " Filter " button. Confirm that only the course participants with the Teacher role are being listed in the participants table. Deselect the selected " Role: Teacher " option. Expand the filter field again. Confirm that the filter options for the Role category are now back on the list. Apply multiple filter options. Confirm that you can apply multiple filter options, but you can only select one filter option per filter category. Click on the " Filter " button. Confirm that the search results are consistent with the filters applied. Clear the filters. Enter the name of a course participant into the filter field and click enter. Click the " Filter " button. Confirm that the user with the name entered into the filters field comes up on the search results. As a student in a course with groups Login as s1. Go to C1's course participants page. Check the filters field. Confirm that either g1 or g2 is pre-applied for the filters field when the participants page is loaded. Check the participants table. If g1 is pre-selected, confirm that only members belonging to g1 are shown. Otherwise, if ge is pre-selected, confirm that only members belonging to g2 are shown. Expand the filters field. Confirm that you can see options that allow you to filter by: Last access to course ("Inactive for more than: ...") - Note that this might not show up if none of the users have logged in to the course for more than a day ago. Role Group Login as s4. Go to C1's course participants page. Confirm that you see an error notification in the page that you must be in a group and the filters field and the participants table is not being shown. In a course with no groups. Login as a teacher and go to C2's course participants page. Expand the filters field. Confirm that you don't see the filter options related to groups. Smoke test Play around the filters field – selecting multiple filter combinations + keyword(s). Confirm that the filtered results remain consistent with the applied filters. (Note: You may enter multiple keywords, but they will be queried in an "AND" fashion, so for example you enter s1 and s2, then you might not get any search results.)
    • Affected Branches:
      MOODLE_34_STABLE
    • Fixed Branches:
      MOODLE_34_STABLE
    • Pull Master Branch:
      MDL-59366-master

      Description

      Filter by enrolment method, role, status, group, inactive time period or text search. See screenshot.

      NOTE: Remember to remove the legacy code that used to handle this behaviour.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              jpataleta Jun Pataleta
              Reporter:
              damyon Damyon Wiese
              Peer reviewer:
              Mark Nelson
              Integrator:
              Dan Poltawski
              Tester:
              Marina Glancy
              Participants:
              Component watchers:
              Amaia Anabitarte, Carlos Escobedo, Ferran Recio, Sara Arjona (@sarjona), Víctor Déniz Falcón
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:
                Fix Release Date:
                13/Nov/17