From e630700fdaa3652939a158f328d15d3db86a3fb3 Mon Sep 17 00:00:00 2001 From: Paul Holden Date: Wed, 19 Jul 2023 11:10:05 +0100 Subject: [PATCH] MDL-78761 enrol: correct enrolment suspended state report filter. --- course/classes/reportbuilder/local/entities/enrolment.php | 3 +-- .../classes/reportbuilder/local/formatters/enrolment.php | 8 ++++---- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/course/classes/reportbuilder/local/entities/enrolment.php b/course/classes/reportbuilder/local/entities/enrolment.php index d48edc1137d..0d2ee75f7ac 100644 --- a/course/classes/reportbuilder/local/entities/enrolment.php +++ b/course/classes/reportbuilder/local/entities/enrolment.php @@ -150,7 +150,6 @@ class enrolment extends base { ->add_joins($this->get_joins()) ->set_type(column::TYPE_TEXT) ->add_field($this->get_status_field_sql(), 'status') - ->add_field("{$userenrolments}.userid") ->set_is_sortable(true) ->add_callback([enrolment_formatter::class, 'enrolment_status']); @@ -202,7 +201,7 @@ class enrolment extends base { THEN " . status_field::STATUS_NOT_CURRENT . " ELSE " . status_field::STATUS_ACTIVE . " END - ELSE " . status_field::STATUS_SUSPENDED . " + ELSE {$userenrolments}.status END"; } diff --git a/course/classes/reportbuilder/local/formatters/enrolment.php b/course/classes/reportbuilder/local/formatters/enrolment.php index 76ca6cc6b90..9a952a40719 100644 --- a/course/classes/reportbuilder/local/formatters/enrolment.php +++ b/course/classes/reportbuilder/local/formatters/enrolment.php @@ -69,14 +69,14 @@ class enrolment { /** * Return enrolment status for user * - * @param string $value - * @param stdClass $row + * @param string|null $value * @return string|null */ - public static function enrolment_status(string $value, stdClass $row): ?string { - if (!$row->userid) { + public static function enrolment_status(?string $value): ?string { + if ($value === null) { return null; } + $statusvalues = self::enrolment_values(); $value = (int) $value;