When we have a pagination on grader page and search for user
that is not on first page, saving was throwing an error
since page didn't have enough data
* Use the appropriate gradebook plugin string for the page title.
* Improve gradebook page titles set by grade_get_plugin_info() by
listing the unique identifying information for the page first
(e.g. the gradebook plugin name), followed by broader information
(Grades + Course name), separating these bits of information using the
pipe `|` character.
For more information, check out
https://www.w3.org/WAI/WCAG21/Techniques/general/G88
A lock/unlock option is added to the context menu of the grade
categories again. But it is only used as an auxiliary tool to lock or
unlock all the grade items within the category.
Problem:
The grade_categories table lacks a 'locked' field, making it technically
impossible to lock grade categories. In Moodle 4.1, the "category total"
column could be locked (from the edit category form), but locking grade
categories directly was not supported.
Solution:
In response to the issue, the lock/unlock feature for grade categories
has been removed. Since the grade_categories table does not have the
necessary 'locked' field, attempting to implement category locking would
be infeasible. As a result, the feature has been removed from the
interface to avoid confusion.
Explanation:
By removing the lock/unlock feature for grade categories, we ensure that
users no longer encounter non-functional options and prevent any
potential misunderstandings about the locking behaviour. Additionally,
this change aligns the user interface with the underlying database
schema and eliminates any misleading functionality.
Do not enclose \core_grades_renderer::user_heading() in
$OUTPUT->heading() and enclose the user's name in the user heading in
<h2> tags instead.
- Having <div> inside <h2> results in errors in HTML validation.
- Enclosing the whole user heading in <h2> results in the other
elements in the user heading (Message, Add to contacts) to be announced
to screen readers which can result in confusion.
Introduces a new method get_element_type_string() in grade/lib.php
which returns the appropriate string that describes the type of the
grade item element.
The functions grade_print_tabs() and print_grade_plugin_selector()
can be deprecated as they are no longer used. These functions were
used to generate and output the tabs and dropdown box navigation
in gradebook which is now replaced with tertiary navigation.
Added groupid to grade_plugin_return tracking, modified constructor
to use query params as defaults if passed-in params not supplied,
used groupid tracking in core reports.
grade_get_graded_users_select also fixed to use gpr (otherwise using
it breaks when course current group has changed between render and
submit).
Fixed coding style issue in gpr constructor & documented properties.
Added upgrade.txt noting gpr changes.
Do not use custom pfofile field name as a field alias in DB query, use field id instead.
DML lowercases all column aliases and fields with uppercase letters no longer match.
Added warning to all gradebook pages if any modules are pending
deletion. Modified the return values for get_name, and is_locked for
affected grade items to indicate their pending deletion.
In the Gradebook, User report, the student's name (at the top) is a hyperlink
to that student's account. In most places where a student's name shows
(e.g. the Grader report) it is most often a hyperlink.