There is a difference between how our PHP mustache engine and JS
mustache engine escaping works. If the icon key is not hard-coded in the
template but defined as a context variable, the JS mustache engine
escapes the forward slashes.
Previously when a repeating chat was updating the calendar
it would only update the timestart column. It needs to also
update the timesort column to display correctly on the new
overview.
* Set default grading due date one week from the due date if:
- there is no grading due date set; and
- the assignment's due date is not older than 3 weeks from the
current date.
MDL-58334 and MDL-32471 introduced new parameters in pluginfile.php but
they are missing from webservice/pluginfile.php
We need the offline one in the Mobile app (this new parameter was
designed thinking in the mobile app)
core_course_get_contents was only checking for modules visible by the
user (via uservisible).
It was not checking for modules that are not visible for the user but
should be displayed in the course because they have access restrictions
configured.
Previously we were not filtering on groups in the event vault
which meant events for all groups would be returned regardless
of which user was passed in.
This resulted in situations where one student would group overrides
for groups they were not in.
Prior to this patch, if a user was in two groups, and an override
existed for both groups in an assignment the override
visually lower on the override list would be displayed on the
overview, whereas the one visually higher would be displayed
in the assignment grading table.
In clean theme the behat step to add record to mod_data does not actually view the database
activity. In 3.3 the default value for completionview is 1 and it breaks the behat in Clean.
This is the same problem that we had in MDL-52486. When the language
pack with multiple underscores (such as "en_us_k12") is selected, the
html root element's "lang" attribute is set to
<html lang="en-us-12" ...>
which we then map back to the Moodle lang code using the JS function
replace().
What was missed in MDL-52486 was that when replacing a value (and not a
regular expression), only the first instance of the value is replaced.
So the value "en_us-k12" was sent as the lang parameter for the
core_string, which is invalid PARAM_LANG value and the exception was
thrown.
In case of the user_date.js, there was no actual problem experienced and
probably there is none as the language code is used as a cache key
rather than a PARAM_LANG parameter. But we are changing it too for
consistency.