The use-case here is for tours which must be shown on every page load.
The tour still needs to be ended for the current page, but should be
shown again on the next time the page is loaded.
This change replaces the requirement for:
- \core\hook\deprecated_callback_replacement
- \core\hook\described_hook
These are replaced by appropriate Attributes.
The behat tests using the course format topics have been reviewed to:
- Add the 'inisections' parameter where necessary, facilitating automatic
renaming of section names.
- Evaluate failing tests due to slight changes in ordering. Notably, in
the topics format, sections are now uniformly named 'New section' without
any numbering.
- Replace .form-inline Bootstrap helper class with .d-flex.flex-wrap.align-items-center
- Refactor .form-inline occurrences in SCSS files or remove when unneeded
- Replace .form-group Boostrap helper class with .mb-3. The .form-group class was only
adding margin bottom styles, so it is an straightforward change.
- Replace .form-group references in SCSS files with .fitem now .form-group has been removed.
- There were some other .form-group occurrences in the code that were using it not for styling
but incorrectly for managing some logic. These have been also replaced with .fitem or removed.
This has been generated running the following Sniff,
part of the Moodle's CodeSniffer standard:
- PSR2.Methods.MethodDeclaration
It just ensures all the function declarations have
the correct order for:
- abstract and final.
- visibility (public, protected, private).
- static.
So, all the lines modified by this commit are function declarations
and the only changes are in the positions of those keywords.
This has been generated running the following Sniffs, all
them part of the Moodle's CodeSniffer standard:
- PSR12.Functions.ReturnTypeDeclaration
- PSR12.Functions.NullableTypeDeclaration
- moodle.Methods.MethodDeclarationSpacing
- Squiz.Whitespace.ScopeKeywordSpacing
All them are, exclusively, about correct spacing, so the changes
are, all them, only white space changes.
Only exceptions to the above are 3 changes what were setting the
return type in a new line, and, when that happens, the closing
parenthesis (bracket) has to go to the same line than the colon.
When a site has policies but a user has not logged in, a banner is
displayed to inform the guest user of the polciies. This banner was
inserted by Javascript at the end of the DOM, so keyboard users had to
tab through the whole page to reach it.
This commit makes the following changes:
* Change the callback used to display the policy banner from
_before_standard_html_head to _before_standard_top_of_body_html.
* Define the banner's body text in an HTML element, rather than a
Javascript parameter.
* Set absolute positioning on the banner for behat sites, so it does not
display at the top of the page and overlap the site header.
* Revert use of the standard_head_html_prepend hook in tool_policy from
MDL-79076.
The combination of these changes means that the banner will be output
near the start of the HTML DOM, so will be accessible to keyboard users
early on in the tab order until dismissed. However, it will still appear
visually at the end of the page, to avoid clashing with the site header.