Ideally any new test should be using a class name matching
the file name, and to use namespace when clearly belonging to
a component (sub-namespace also allowed for better accuracy).
And, also, adding a @covers label to indicate which class
(preferred, method is also possible) is being covered with the test.
When the messagingallusers setting is disabled only contacts that are
on the same course as the user should be returned as results.
We can reduce the number of candidate users significantly by
pre-filtering them by being enrolled on the same courses as the user
performing the search.
Since we must also return the user themselves sometimes, even when they
are not enrolled on a course I used a UNION as the most efficient way of
retriving them, this meant that the order by had to reference returned
columns by number to be sufficiently cross-database compatiable.
This also implements the functionality for SCORM packages, which may
have SVG images embedded within their content which require loading
directly (and are only created by users with appropriate risk flag).
In preparation for further tabs in this interface, convert the report
editor to use the Dynamic tabs API.
At the same time, update the editor JS and it's modules to add listeners
on `document` instead of the report element itself, which will move in
and out of the current DOM in the future as tabs are switched.
Co-authored-by: Paul Holden <paulh@moodle.com>
This implementation will add the statistics plugin to core.
Statistics plugin shows the overall report for a question using
a couple columns in the base view.
Differences can be checked with git diff --ignore-all-space and
that will show that the only non-whitespace change is in a test
in the git lib/tests/html2text_test.php file. In that case the
whitespace has been replaced by a quoted string (of whitespaces)
keeping the test 100% equivalent and workarrounding the whitespace.
For teachers viewing the assignment summary (/mod/assign/index.php),
it shows a '-' in the 'Grade' column. Instead of showing a '-', display
the number of items that need grading.
Augment by creating a link to the grading page so that teachers can see
the outstanding assignments more quickly.
Also attempted to write phpunit tests that verify values for ungraded
submissions for teachers.
Create two entities exposing reportable data on site cohorts and
their members, via column and filter definitions.
Create report source bringing them together along with the user
entity to provide data for the reportbuilder editor.
Co-authored-by: Carlos Castillo <carlos.castillo@moodle.com>