Create new entity for exposing report data on course categories,
joining it to the course entity to provide data for the reportbuilder
editor.
Co-authored-by: Carlos Castillo <carlos.castillo@moodle.com>
Adds new behat scenarios to cover the activity navigation controls and
the ability to navigate through (hidden) activities as a teacher when
the course has multiple activities but it also uses the single activity
format.
The existing course format plugins are not adapted tu use the new
courseformat subsystem. This means they don't provide a valid renderer,
or hardcode the inclusion of the topics renderer.php file, or do not
extend the format renderer but the core one (missing some methods). This
commit provides some quick fixes to prevent exceptions.
Course category fields were changed en masse from simple select
elements to autocompletes in 93d72205, but weren't defined as
required fields. This could lead to exceptions and/or unexpected
behaviour if their values were cleared prior to form submission.
Now components has a new property lock to disable all user interactions.
This is applied directly into the course index and course content to
freeze an element if some action is performed over it. To set this
locked value there are 2 new mutations cmLock and sectionLock.
Two new mutations are added to indicate that a section
or a cm is being dragged. The logic related to refresh
a section or a cm has been moved to components to
simplify the code.
Allows display_size to use a fixed unit for easy comparison of
multiple results, and fixed decimal places for the same reason.
Improves behaviour by using consistent decimal places and a
consistent space before the unit (the previous one only has a space
before 'bytes', not before 'KB').
Of existing uses, all the ones that displayed a 'maxbytes' type
configuration setting (which are likely to have an 'exact' size
and would be better shown as 512 KB rather than 512.0 KB) have been
changed to use 0 decimal places, to preserve previous behaviour.
All the uses which were showing an actual file or memory size have
been left as default (1 decimal place).