Merge branch 'MDL-77307_final-deprecation-grader-report-and-grade-functions' of https://github.com/ziegenberg/moodle

This commit is contained in:
Huong Nguyen
2025-04-30 10:10:46 +07:00
6 changed files with 67 additions and 403 deletions
@@ -0,0 +1,12 @@
issueNumber: MDL-77307
notes:
core_grades:
- message: >-
The previously deprecate methods have been removed:
- grade_structure::get_grade_analysis_icon
- grade_structure::get_reset_icon
- grade_structure::get_edit_icon
- grade_structure::get_hiding_icon
- grade_structure::get_locking_icon
- grade_structure::get_calculation_icon
type: removed
@@ -0,0 +1,9 @@
issueNumber: MDL-77307
notes:
gradereport_grader:
- message: |+
The previously deprecated methods have been removed:
- grade_report_grader::get_left_icons_row
- grade_report_grader::get_right_icons_row
- grade_report_grader::get_icons
type: removed
+18 -293
View File
@@ -1556,26 +1556,11 @@ class grade_structure {
}
/**
* Returns an action icon leading to the grade analysis page
*
* @param grade_grade $grade
* @return string
* @deprecated since Moodle 4.2 - The row is not shown anymore - we have actions menu.
* @todo MDL-77307 This will be deleted in Moodle 4.6.
* @deprecated since Moodle 4.2 - The row is not shown anymore - we have {@see core\output\action_menu}.
*/
#[\core\attribute\deprecated('core\output\action_menu', since: '4.2', mdl: 'MDL-77033', final: true)]
public function get_grade_analysis_icon(grade_grade $grade) {
global $OUTPUT;
debugging('The function get_grade_analysis_icon() is deprecated, please do not use it anymore.',
DEBUG_DEVELOPER);
$url = $this->get_grade_analysis_url($grade);
if (is_null($url)) {
return '';
}
$title = get_string('gradeanalysis', 'core_grades');
return $OUTPUT->action_icon($url, new pix_icon('t/preview', ''), null,
['title' => $title, 'aria-label' => $title]);
\core\deprecation::emit_deprecation_if_present([self::class, __FUNCTION__]);
}
/**
@@ -1685,41 +1670,11 @@ class grade_structure {
}
/**
* Return a reset icon for the given element.
*
* @param array $element An array representing an element in the grade_tree
* @param object $gpr A grade_plugin_return object
* @param bool $returnactionmenulink return the instance of action_menu_link instead of string
* @return string|action_menu_link
* @deprecated since Moodle 4.2 - The row is not shown anymore - we have actions menu.
* @todo MDL-77307 This will be deleted in Moodle 4.6.
* @deprecated since Moodle 4.2 - The row is not shown anymore - we have {@see core\output\action_menu}.
*/
#[\core\attribute\deprecated('core\output\action_menu', since: '4.2', mdl: 'MDL-77033', final: true)]
public function get_reset_icon($element, $gpr, $returnactionmenulink = false) {
global $CFG, $OUTPUT;
debugging('The function get_reset_icon() is deprecated, please do not use it anymore.',
DEBUG_DEVELOPER);
// Limit to category items set to use the natural weights aggregation method, and users
// with the capability to manage grades.
if ($element['type'] != 'category' || $element['object']->aggregation != GRADE_AGGREGATE_SUM ||
!has_capability('moodle/grade:manage', $this->context)) {
return $returnactionmenulink ? null : '';
}
$str = get_string('resetweights', 'grades', $this->get_params_for_iconstr($element));
$url = new moodle_url('/grade/edit/tree/action.php', array(
'id' => $this->courseid,
'action' => 'resetweights',
'eid' => $element['eid'],
'sesskey' => sesskey(),
));
if ($returnactionmenulink) {
return new action_menu_link_secondary($gpr->add_url_params($url), new pix_icon('t/reset', $str),
get_string('resetweightsshort', 'grades'));
} else {
return $OUTPUT->action_icon($gpr->add_url_params($url), new pix_icon('t/reset', $str));
}
\core\deprecation::emit_deprecation_if_present([self::class, __FUNCTION__]);
}
/**
@@ -1819,90 +1774,11 @@ class grade_structure {
}
/**
* Return edit icon for give element
*
* @param array $element An array representing an element in the grade_tree
* @param object $gpr A grade_plugin_return object
* @param bool $returnactionmenulink return the instance of action_menu_link instead of string
* @return string|action_menu_link
* @deprecated since Moodle 4.2 - The row is not shown anymore - we have actions menu.
* @todo MDL-77307 This will be deleted in Moodle 4.6.
* @deprecated since Moodle 4.2 - The row is not shown anymore - we have {@see core\output\action_menu}.
*/
#[\core\attribute\deprecated('core\output\action_menu', since: '4.2', mdl: 'MDL-77033', final: true)]
public function get_edit_icon($element, $gpr, $returnactionmenulink = false) {
global $CFG, $OUTPUT;
debugging('The function get_edit_icon() is deprecated, please do not use it anymore.',
DEBUG_DEVELOPER);
if (!has_capability('moodle/grade:manage', $this->context)) {
if ($element['type'] == 'grade' and has_capability('moodle/grade:edit', $this->context)) {
// oki - let them override grade
} else {
return $returnactionmenulink ? null : '';
}
}
static $strfeedback = null;
static $streditgrade = null;
if (is_null($streditgrade)) {
$streditgrade = get_string('editgrade', 'grades');
$strfeedback = get_string('feedback');
}
$strparams = $this->get_params_for_iconstr($element);
$object = $element['object'];
switch ($element['type']) {
case 'item':
case 'categoryitem':
case 'courseitem':
$stredit = get_string('editverbose', 'grades', $strparams);
if (empty($object->outcomeid) || empty($CFG->enableoutcomes)) {
$url = new moodle_url('/grade/edit/tree/item.php',
array('courseid' => $this->courseid, 'id' => $object->id));
} else {
$url = new moodle_url('/grade/edit/tree/outcomeitem.php',
array('courseid' => $this->courseid, 'id' => $object->id));
}
break;
case 'category':
$stredit = get_string('editverbose', 'grades', $strparams);
$url = new moodle_url('/grade/edit/tree/category.php',
array('courseid' => $this->courseid, 'id' => $object->id));
break;
case 'grade':
$stredit = $streditgrade;
if (empty($object->id)) {
$url = new moodle_url('/grade/edit/tree/grade.php',
array('courseid' => $this->courseid, 'itemid' => $object->itemid, 'userid' => $object->userid));
} else {
$url = new moodle_url('/grade/edit/tree/grade.php',
array('courseid' => $this->courseid, 'id' => $object->id));
}
if (!empty($object->feedback)) {
$feedback = addslashes_js(trim(format_string($object->feedback, $object->feedbackformat)));
}
break;
default:
$url = null;
}
if ($url) {
if ($returnactionmenulink) {
return new action_menu_link_secondary($gpr->add_url_params($url),
new pix_icon('t/edit', $stredit),
get_string('editsettings'));
} else {
return $OUTPUT->action_icon($gpr->add_url_params($url), new pix_icon('t/edit', $stredit));
}
} else {
return $returnactionmenulink ? null : '';
}
\core\deprecation::emit_deprecation_if_present([self::class, __FUNCTION__]);
}
/**
@@ -2032,65 +1908,11 @@ class grade_structure {
}
/**
* Return hiding icon for give element
*
* @param array $element An array representing an element in the grade_tree
* @param object $gpr A grade_plugin_return object
* @param bool $returnactionmenulink return the instance of action_menu_link instead of string
* @return string|action_menu_link
* @deprecated since Moodle 4.2 - The row is not shown anymore - we have actions menu.
* @todo MDL-77307 This will be deleted in Moodle 4.6.
* @deprecated since Moodle 4.2 - The row is not shown anymore - we have {@see core\output\action_menu}.
*/
#[\core\attribute\deprecated('core\output\action_menu', since: '4.2', mdl: 'MDL-77033', final: true)]
public function get_hiding_icon($element, $gpr, $returnactionmenulink = false) {
global $CFG, $OUTPUT;
debugging('The function get_hiding_icon() is deprecated, please do not use it anymore.',
DEBUG_DEVELOPER);
if (!$element['object']->can_control_visibility()) {
return $returnactionmenulink ? null : '';
}
if (!has_capability('moodle/grade:manage', $this->context) and
!has_capability('moodle/grade:hide', $this->context)) {
return $returnactionmenulink ? null : '';
}
$strparams = $this->get_params_for_iconstr($element);
$strshow = get_string('showverbose', 'grades', $strparams);
$strhide = get_string('hideverbose', 'grades', $strparams);
$url = new moodle_url('/grade/edit/tree/action.php', array('id' => $this->courseid, 'sesskey' => sesskey(), 'eid' => $element['eid']));
$url = $gpr->add_url_params($url);
if ($element['object']->is_hidden()) {
$type = 'show';
$tooltip = $strshow;
// Change the icon and add a tooltip showing the date
if ($element['type'] != 'category' and $element['object']->get_hidden() > 1) {
$type = 'hiddenuntil';
$tooltip = get_string('hiddenuntildate', 'grades',
userdate($element['object']->get_hidden()));
}
$url->param('action', 'show');
if ($returnactionmenulink) {
$hideicon = new action_menu_link_secondary($url, new pix_icon('t/'.$type, $tooltip), get_string('show'));
} else {
$hideicon = $OUTPUT->action_icon($url, new pix_icon('t/'.$type, $tooltip, 'moodle', array('alt'=>$strshow, 'class'=>'smallicon')));
}
} else {
$url->param('action', 'hide');
if ($returnactionmenulink) {
$hideicon = new action_menu_link_secondary($url, new pix_icon('t/hide', $strhide), get_string('hide'));
} else {
$hideicon = $OUTPUT->action_icon($url, new pix_icon('t/hide', $strhide));
}
}
return $hideicon;
\core\deprecation::emit_deprecation_if_present([self::class, __FUNCTION__]);
}
/**
@@ -2136,64 +1958,11 @@ class grade_structure {
}
/**
* Return locking icon for given element
*
* @param array $element An array representing an element in the grade_tree
* @param object $gpr A grade_plugin_return object
*
* @return string
* @deprecated since Moodle 4.2 - The row is not shown anymore - we have actions menu.
* @todo MDL-77307 This will be deleted in Moodle 4.6.
* @deprecated since Moodle 4.2 - The row is not shown anymore - we have {@see core\output\action_menu}.
*/
#[\core\attribute\deprecated('core\output\action_menu', since: '4.2', mdl: 'MDL-77033', final: true)]
public function get_locking_icon($element, $gpr) {
global $CFG, $OUTPUT;
debugging('The function get_locking_icon() is deprecated, please do not use it anymore.',
DEBUG_DEVELOPER);
$strparams = $this->get_params_for_iconstr($element);
$strunlock = get_string('unlockverbose', 'grades', $strparams);
$strlock = get_string('lockverbose', 'grades', $strparams);
$url = new moodle_url('/grade/edit/tree/action.php', array('id' => $this->courseid, 'sesskey' => sesskey(), 'eid' => $element['eid']));
$url = $gpr->add_url_params($url);
// Don't allow an unlocking action for a grade whose grade item is locked: just print a state icon
if ($element['type'] == 'grade' && $element['object']->grade_item->is_locked()) {
$strparamobj = new stdClass();
$strparamobj->itemname = $element['object']->grade_item->itemname;
$strnonunlockable = get_string('nonunlockableverbose', 'grades', $strparamobj);
$action = html_writer::tag('span', $OUTPUT->pix_icon('t/locked', $strnonunlockable),
array('class' => 'action-icon'));
} else if ($element['object']->is_locked()) {
$type = 'unlock';
$tooltip = $strunlock;
// Change the icon and add a tooltip showing the date
if ($element['type'] != 'category' and $element['object']->get_locktime() > 1) {
$type = 'locktime';
$tooltip = get_string('locktimedate', 'grades',
userdate($element['object']->get_locktime()));
}
if (!has_capability('moodle/grade:manage', $this->context) and !has_capability('moodle/grade:unlock', $this->context)) {
$action = '';
} else {
$url->param('action', 'unlock');
$action = $OUTPUT->action_icon($url, new pix_icon('t/'.$type, $tooltip, 'moodle', array('alt'=>$strunlock, 'class'=>'smallicon')));
}
} else {
if (!has_capability('moodle/grade:manage', $this->context) and !has_capability('moodle/grade:lock', $this->context)) {
$action = '';
} else {
$url->param('action', 'lock');
$action = $OUTPUT->action_icon($url, new pix_icon('t/lock', $strlock));
}
}
return $action;
\core\deprecation::emit_deprecation_if_present([self::class, __FUNCTION__]);
}
/**
@@ -2263,55 +2032,11 @@ class grade_structure {
}
/**
* Return calculation icon for given element
*
* @param array $element An array representing an element in the grade_tree
* @param object $gpr A grade_plugin_return object
* @param bool $returnactionmenulink return the instance of action_menu_link instead of string
* @return string|action_menu_link
* @deprecated since Moodle 4.2 - The row is not shown anymore - we have actions menu.
* @todo MDL-77307 This will be deleted in Moodle 4.6.
* @deprecated since Moodle 4.2 - The row is not shown anymore - we have {@see core\output\action_menu}.
*/
#[\core\attribute\deprecated('core\output\action_menu', since: '4.2', mdl: 'MDL-77033', final: true)]
public function get_calculation_icon($element, $gpr, $returnactionmenulink = false) {
global $CFG, $OUTPUT;
debugging('The function get_calculation_icon() is deprecated, please do not use it anymore.',
DEBUG_DEVELOPER);
if (!has_capability('moodle/grade:manage', $this->context)) {
return $returnactionmenulink ? null : '';
}
$type = $element['type'];
$object = $element['object'];
if ($type == 'item' or $type == 'courseitem' or $type == 'categoryitem') {
$strparams = $this->get_params_for_iconstr($element);
$streditcalculation = get_string('editcalculationverbose', 'grades', $strparams);
$is_scale = $object->gradetype == GRADE_TYPE_SCALE;
$is_value = $object->gradetype == GRADE_TYPE_VALUE;
// show calculation icon only when calculation possible
if (!$object->is_external_item() and ($is_scale or $is_value)) {
if ($object->is_calculated()) {
$icon = 't/calc';
} else {
$icon = 't/calc_off';
}
$url = new moodle_url('/grade/edit/tree/calculation.php', array('courseid' => $this->courseid, 'id' => $object->id));
$url = $gpr->add_url_params($url);
if ($returnactionmenulink) {
return new action_menu_link_secondary($url,
new pix_icon($icon, $streditcalculation),
get_string('editcalculation', 'grades'));
} else {
return $OUTPUT->action_icon($url, new pix_icon($icon, $streditcalculation));
}
}
}
return $returnactionmenulink ? null : '';
\core\deprecation::emit_deprecation_if_present([self::class, __FUNCTION__]);
}
/**
+8 -101
View File
@@ -1309,33 +1309,11 @@ class grade_report_grader extends grade_report {
}
/**
* Builds and return the row of icons for the left side of the report.
* It only has one cell that says "Controls"
* @param array $rows The Array of rows for the left part of the report
* @param int $colspan The number of columns this cell has to span
* @return array Array of rows for the left part of the report
* @deprecated since Moodle 4.2 - The row is not shown anymore - we have actions menu.
* @todo MDL-77307 This will be deleted in Moodle 4.6.
* @deprecated since Moodle 4.2 - The row is not shown anymore - we have {@see core\output\action_menu}.
*/
#[\core\attribute\deprecated('core\output\action_menu', since: '4.2', mdl: 'MDL-76147', final: true)]
public function get_left_icons_row($rows=array(), $colspan=1) {
global $USER;
debugging('The function get_left_icons_row() is deprecated, please do not use it anymore.',
DEBUG_DEVELOPER);
if (!empty($USER->editing)) {
$controlsrow = new html_table_row();
$controlsrow->attributes['class'] = 'controls';
$controlscell = new html_table_cell();
$controlscell->attributes['class'] = 'header controls';
$controlscell->header = true;
$controlscell->colspan = $colspan;
$controlscell->text = get_string('controls', 'grades');
$controlsrow->cells[] = $controlscell;
$rows[] = $controlsrow;
}
return $rows;
\core\deprecation::emit_deprecation_if_present([self::class, __FUNCTION__]);
}
/**
@@ -1415,35 +1393,11 @@ class grade_report_grader extends grade_report {
}
/**
* Builds and return the row of icons when editing is on, for the right part of the grader report.
* @param array $rows The Array of rows for the right part of the report
* @return array Array of rows for the right part of the report
* @deprecated since Moodle 4.2 - The row is not shown anymore - we have actions menu.
* @todo MDL-77307 This will be deleted in Moodle 4.6.
* @deprecated since Moodle 4.2 - The row is not shown anymore - we have {@see core\output\action_menu}.
*/
#[\core\attribute\deprecated('core\output\action_menu', since: '4.2', mdl: 'MDL-76147', final: true)]
public function get_right_icons_row($rows=array()) {
global $USER;
debugging('The function get_right_icons_row() is deprecated, please do not use it anymore.',
DEBUG_DEVELOPER);
if (!empty($USER->editing)) {
$iconsrow = new html_table_row();
$iconsrow->attributes['class'] = 'controls';
foreach ($this->gtree->items as $itemid => $unused) {
// emulate grade element
$item = $this->gtree->get_item($itemid);
$eid = $this->gtree->get_item_eid($item);
$element = $this->gtree->locate_element($eid);
$itemcell = new html_table_cell();
$itemcell->attributes['class'] = 'controls icons i'.$itemid;
$itemcell->text = $this->get_icons($element);
$iconsrow->cells[] = $itemcell;
}
$rows[] = $iconsrow;
}
return $rows;
\core\deprecation::emit_deprecation_if_present([self::class, __FUNCTION__]);
}
/**
@@ -1522,58 +1476,11 @@ class grade_report_grader extends grade_report {
}
/**
* Given a grade_category, grade_item or grade_grade, this function
* figures out the state of the object and builds then returns a div
* with the icons needed for the grader report.
*
* @param array $element
* @return string HTML
* @deprecated since Moodle 4.2 - The row is not shown anymore - we have actions menu.
* @todo MDL-77307 This will be deleted in Moodle 4.6.
*/
#[\core\attribute\deprecated('core\output\action_menu', since: '4.2', mdl: 'MDL-76147', final: true)]
protected function get_icons($element) {
global $CFG, $USER, $OUTPUT;
debugging('The function get_icons() is deprecated, please do not use it anymore.',
DEBUG_DEVELOPER);
if (empty($USER->editing)) {
return '<div class="grade_icons" />';
}
// Init all icons
$editicon = '';
$editable = true;
if ($element['type'] == 'grade') {
$item = $element['object']->grade_item;
if ($item->is_course_item() or $item->is_category_item()) {
$editable = $this->overridecat;
}
}
if ($element['type'] != 'categoryitem' && $element['type'] != 'courseitem' && $editable) {
$editicon = $this->gtree->get_edit_icon($element, $this->gpr);
}
$editcalculationicon = '';
$showhideicon = '';
$lockunlockicon = '';
if (has_capability('moodle/grade:manage', $this->context)) {
$editcalculationicon = $this->gtree->get_calculation_icon($element, $this->gpr);
$showhideicon = $this->gtree->get_hiding_icon($element, $this->gpr);
$lockunlockicon = $this->gtree->get_locking_icon($element, $this->gpr);
}
$gradeanalysisicon = '';
if ($element['type'] == 'grade') {
$gradeanalysisicon .= $this->gtree->get_grade_analysis_icon($element['object']);
}
return $OUTPUT->container($editicon.$editcalculationicon.$showhideicon.$lockunlockicon.$gradeanalysisicon, 'grade_icons');
\core\deprecation::emit_deprecation_if_present([self::class, __FUNCTION__]);
}
/**
+9
View File
@@ -73,3 +73,12 @@ tt_editevent,core_calendar
userevent,core_calendar
togglenotificationmenu,core_message
externalblogdeleteconfirm,core_blog
editcalculationverbose,core_grades
editverbose,core_grades
hiddenuntildate,core_grades
hideverbose,core_grades
locktimedate,core_grades
lockverbose,core_grades
nonunlockableverbose,core_grades
showverbose,core_grades
unlockverbose,core_grades
+11 -9
View File
@@ -168,7 +168,6 @@ $string['duplicatedgradeitem'] = '{$a} (copy)';
$string['duplicatescale'] = 'Duplicate scale';
$string['edit'] = 'Edit';
$string['editcalculation'] = 'Edit calculation';
$string['editcalculationverbose'] = 'Edit calculation for {$a->category} {$a->itemmodule} {$a->itemname}';
$string['editfeedback'] = 'Edit feedback';
$string['editgrade'] = 'Edit grade';
$string['editgradeletters'] = 'Edit grade letters';
@@ -176,7 +175,6 @@ $string['editoutcome'] = 'Edit outcome';
$string['editoutcomes'] = 'Edit outcomes';
$string['editscale'] = 'Edit scale';
$string['edittree'] = 'Setup';
$string['editverbose'] = 'Edit {$a->category} {$a->itemmodule} {$a->itemname}';
$string['enableoutcomes'] = 'Enable outcomes';
$string['enableoutcomes_help'] = 'If enabled, grade items may be graded using one or more scales tied to outcome statements.';
$string['encoding'] = 'Encoding';
@@ -377,7 +375,6 @@ $string['hidden_help'] = 'If ticked, grades are hidden from students. A hidden u
$string['hiddenasdate'] = 'Show submitted date for hidden grades';
$string['hiddenasdate_help'] = 'If user can not see hidden grades show date of submission instead of \'-\'.';
$string['hiddenuntil'] = 'Hidden until';
$string['hiddenuntildate'] = 'Hidden until: {$a}';
$string['hideadvanced'] = 'Hide advanced features';
$string['hideaverages'] = 'Hide averages';
$string['hidecalculations'] = 'Hide calculations';
@@ -397,7 +394,6 @@ $string['hidetotalifhiddenitems_help'] = 'This setting specifies whether totals
If hidden items are excluded, the total will be different to the total seen by the teacher in the grader report, since the teacher always sees totals calculated from all items, hidden or unhidden. If hidden items are included, students may be able to calculate the hidden items.';
$string['hidetotalshowexhiddenitems'] = 'Show totals excluding hidden items';
$string['hidetotalshowinchiddenitems'] = 'Show totals including hidden items';
$string['hideverbose'] = 'Hide {$a->category} {$a->itemmodule} {$a->itemname}';
$string['highgradeascending'] = 'Sort by high grade ascending';
$string['highgradedescending'] = 'Sort by high grade descending';
$string['highgradeletter'] = 'High';
@@ -482,8 +478,6 @@ $string['lock'] = 'Lock';
$string['locked'] = 'Locked';
$string['locked_help'] = 'If ticked, grades can no longer be automatically updated by the related activity.';
$string['locktime'] = 'Lock after';
$string['locktimedate'] = 'Locked after: {$a}';
$string['lockverbose'] = 'Lock {$a->category} {$a->itemmodule} {$a->itemname}';
$string['lowest'] = 'Lowest';
$string['lowgradeletter'] = 'Low';
$string['manageoutcomes'] = 'Manage outcomes';
@@ -577,7 +571,6 @@ $string['noidnumber'] = 'No ID number';
$string['nolettergrade'] = 'No letter grade for';
$string['nomode'] = 'NA';
$string['nonnumericweight'] = 'Received non-numeric value for';
$string['nonunlockableverbose'] = 'To unlock this grade, you need to unlock {$a->itemname}.';
$string['nonunhideableverbose'] = 'To unhide this grade, you need to unhide {$a->itemname}.';
$string['nonweightedpct'] = 'non-weighted %';
$string['nooutcome'] = 'No outcome';
@@ -811,7 +804,6 @@ $string['showrank'] = 'Show rank';
$string['showrank_help'] = 'Whether to show the position of the student in relation to the rest of the class for each grade item.';
$string['showuserimage'] = 'Show user profile images';
$string['showuserimage_help'] = 'Whether to show the user\'s profile image next to the name in the grader report.';
$string['showverbose'] = 'Show {$a->category} {$a->itemmodule} {$a->itemname}';
$string['simpleview'] = 'Single view';
$string['sitewide'] = 'Site-wide';
$string['sort'] = 'sort';
@@ -850,7 +842,6 @@ $string['unchangedgrade'] = 'Grade unchanged';
$string['unlimitedgrades'] = 'Unlimited grades';
$string['unlimitedgrades_help'] = 'By default, grades are limited by the maximum and minimum values of the grade item. Enabling this setting removes this limit, and allows grades of over 100% to be entered directly in the gradebook.';
$string['unlock'] = 'Unlock';
$string['unlockverbose'] = 'Unlock {$a->category} {$a->itemmodule} {$a->itemname}';
$string['unused'] = 'Unused';
$string['updatedgradesonly'] = 'Export new or updated grades only';
$string['uploadgrades'] = 'Upload grades';
@@ -905,3 +896,14 @@ $string['filterbothactive'] = 'First ({$a->first}) Last ({$a->last})';
$string['filterbyname'] = 'Filter by name';
$string['filterfirstactive'] = 'First ({$a->first})';
$string['filterlastactive'] = 'Last ({$a->last})';
// Deprecated since Moodle 5.0.
$string['editcalculationverbose'] = 'Edit calculation for {$a->category} {$a->itemmodule} {$a->itemname}';
$string['editverbose'] = 'Edit {$a->category} {$a->itemmodule} {$a->itemname}';
$string['hiddenuntildate'] = 'Hidden until: {$a}';
$string['hideverbose'] = 'Hide {$a->category} {$a->itemmodule} {$a->itemname}';
$string['locktimedate'] = 'Locked after: {$a}';
$string['lockverbose'] = 'Lock {$a->category} {$a->itemmodule} {$a->itemname}';
$string['nonunlockableverbose'] = 'To unlock this grade, you need to unlock {$a->itemname}.';
$string['showverbose'] = 'Show {$a->category} {$a->itemmodule} {$a->itemname}';
$string['unlockverbose'] = 'Unlock {$a->category} {$a->itemmodule} {$a->itemname}';