From 0c8a596ba3fff4597ffdaebd7484242d95557e87 Mon Sep 17 00:00:00 2001 From: Paul Holden Date: Tue, 20 May 2025 13:00:26 +0100 Subject: [PATCH] MDL-85541 gradereport_history: show user country value correctly. --- grade/report/history/classes/output/tablelog.php | 11 +++++++++++ grade/report/history/users_ajax.php | 7 ++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/grade/report/history/classes/output/tablelog.php b/grade/report/history/classes/output/tablelog.php index 7060d8b015a..9fb57c6befc 100644 --- a/grade/report/history/classes/output/tablelog.php +++ b/grade/report/history/classes/output/tablelog.php @@ -213,6 +213,17 @@ class tablelog extends \table_sql implements \renderable { $this->define_headers(array_values($cols)); } + /** + * Display name of country + * + * @param \stdClass $history + * @return string + */ + public function col_country(\stdClass $history): string { + $countries = get_string_manager()->get_list_of_countries(); + return $countries[$history->country] ?? $history->country; + } + /** * Method to display the final grade. * diff --git a/grade/report/history/users_ajax.php b/grade/report/history/users_ajax.php index 7e737a6cd45..136091679a5 100644 --- a/grade/report/history/users_ajax.php +++ b/grade/report/history/users_ajax.php @@ -64,7 +64,12 @@ foreach ($users as $user) { $fieldvalues = []; foreach ($extrafields as $field) { if ($user->{$field}) { - $fieldvalues[] = $user->{$field}; + $fieldcontent = $user->{$field}; + if ($field === 'country') { + $countries = get_string_manager()->get_list_of_countries(); + $fieldcontent = $countries[$fieldcontent] ?? $fieldcontent; + } + $fieldvalues[] = $fieldcontent; } } $newuser->extrafields = implode(', ', $fieldvalues);