When the keyword participant filter was used with multiple values
in conjunction with other participants filters, the boolean logic
was effectively:
X AND Y OR Z
When what we actually wanted was:
X AND (Y OR Z)
Default value of the $flag argument changed in PHP 8.1 from ENT_COMPAT to ENT_QUOTES | ENT_SUBSTITUTE
To ensure consistent behavior across different PHP version the second parameter is now required for the functions:
htmlspecialchars(), htmlentities(), htmlspecialchars_decode(), html_entity_decode() and get_html_translation_table()
This allows admins to configure whether contact site support is
available to everyone, authenticated users, or nobody.
The behat testing checks linked and direct access for each setting,
as well as adding testing that the support page override works as
expected.
This implementation will de-couple the participant filter from
core user to core so its easily usable to any api in core or any
community plugin. This removes the dependency from the core_user
and creates a nice api where it can produce filterable objects.
Co-Authored-By: Safat Shahin <safatshahin@catalyst-au.net>
Co-Authored-By: Tomo Tsuyuki <tomotsuyuki@catalyst-au.net>
AMOS BEGIN
MOV [addcondition,core_user], [addcondition,core]
MOV [adverbfor_and,core_user], [operator_and,core]
MOV [adverbfor_andnot,core_user], [operator_andnot,core]
MOV [adverbfor_or,core_user], [operator_or,core]
MOV [applyfilters,core_user], [applyfilters,core]
MOV [clearfilterrow,core_user], [clearfilterrow,core]
MOV [clearfilters,core_user], [clearfilters,core]
MOV [filtersetmatchdescription,core_user], [filtersetmatchdescription,core]
MOV [filterrowlegend,core_user], [filterrowlegend,core]
MOV [filtertype,core_user], [filtertype,core]
MOV [match,core_user], [match,core]
MOV [matchofthefollowing,core_user], [matchofthefollowing,core]
MOV [placeholdertypeorselect,core_user], [placeholdertypeorselect,core]
MOV [selectfiltertype,core_user], [selectfiltertype,core]
AMOS END
We should respect the value of the PHPUNIT_LONGTEST constant in the
report source stress tests, as it was discovered after 165e26fa that
the default configuration of some CIs (GHA) was not sufficient to run
them.
Hence, use the PHPUNIT_LONGTEST to determine whether to execute said
tests. Note this constant is enabled on internal CI.
Implement stress tester methods for iterating over report columns,
aggregation and conditions. Assert that each works correctly in
isolation, and when used in conjunction with other columns.
Previously the `moodle/course:bulkmessaging` capability controlled
access to the entire bulk actions menu for course participants,
rather than just those actions related to messaging.
- Replace all individual calls to add all columns, filters and
conditions on the cohorts datasource with the new
method add_all_from_entities().
- Replace all individual calls to add all columns, filters and
conditions on the courses datasource with the new
method add_all_from_entities().
- Replace all individual calls to add all columns, filters and
conditions on the users datasource with the new
method add_all_from_entity().