* Fix license manager test
* Remove unnecessary @javascript tags
* Remove unnecessary "I log out" steps
* Fix structure so each scenario will have a single Given-When-Then
This feature adds an admin tool for creating custom licenses.
Now custom licenses can be added and amended in Moodle, and the site
default can be set to a custom license.
Core licenses remain hard-coded and are uneditable, so they will always
require update within Moodle core updates, and maintain their
internationalisation through core language strings.
This also includes fundamental changes to the license API including
the addition of license caching and deprecation of no longer required
admin settings for license management.
For Dataformats that support exporting HTML content, provide an API for
converting images within that content to something suitable for the format.
This fixes an issue with the PDF writer when it encountered a pluginfile.php
image, which it tried to request via HTTP without an active session. This
resulted in a 303 header returned by Moodle instead of the actual image,
causing an exception in the underlying TCPDF library.
In the get_grade_letters there is a static variable that is used
to cache grade letters, we should use MUC for this so that it is
reset properly between unit tests.
Completed support for all join types (any/all/none) for enrolment
method and status filtering. This includes handling forced status
filtering where a user does not have the capability to view suspended
users, as well as handling front page (whole site) participants page.
The last access implementation also fixes an existing bug,
where it was assumed never accessed would be 0, when it also needed to
handle null to return correct results. Related userlib unit tests also
updated to reflect this, as well as some incorrect comment wording.
Temporarily defaulting filtersets and their filters to join type ALL
for backwards compatibility, so the existing participants unified
filter continues to function consistently. This will be reverted once
the new participants filter UI replaces the existing unified filter.