diff --git a/course/tests/reportbuilder/datasource/participants_test.php b/course/tests/reportbuilder/datasource/participants_test.php index 0eb6acde61c..e95d10cf286 100644 --- a/course/tests/reportbuilder/datasource/participants_test.php +++ b/course/tests/reportbuilder/datasource/participants_test.php @@ -25,6 +25,7 @@ use core_reportbuilder\local\filters\boolean_select; use core_reportbuilder\local\filters\date; use core_reportbuilder\local\filters\duration; use core_reportbuilder\local\filters\select; +use core_reportbuilder\local\filters\text; use core_reportbuilder_generator; use core_reportbuilder_testcase; use grade_item; @@ -296,6 +297,21 @@ class participants_test extends core_reportbuilder_testcase { ], ['Lionel', 'Kira', 'Luna'], ], + [ + 'enrol:customname', + [ + 'enrol:customname_operator' => text::IS_EMPTY, + ], + ['Luna', 'Kira', 'Lionel'], + ], + [ + 'enrol:customname', + [ + 'enrol:customname_operator' => text::IS_EQUAL_TO, + 'enrol:customname_value' => 'All night long' + ], + [], + ], [ 'role:name', [ diff --git a/enrol/classes/reportbuilder/local/entities/enrol.php b/enrol/classes/reportbuilder/local/entities/enrol.php index a30f8bebea9..7d6f4eff505 100644 --- a/enrol/classes/reportbuilder/local/entities/enrol.php +++ b/enrol/classes/reportbuilder/local/entities/enrol.php @@ -20,7 +20,7 @@ use enrol_plugin; use lang_string; use stdClass; use core_reportbuilder\local\entities\base; -use core_reportbuilder\local\filters\{boolean_select, date, duration, select}; +use core_reportbuilder\local\filters\{boolean_select, date, duration, select, text}; use core_reportbuilder\local\helpers\format; use core_reportbuilder\local\report\{column, filter}; @@ -205,6 +205,16 @@ class enrol extends base { }, enrol_get_plugins(true)); }); + // Custom name filter. + $filters[] = (new filter( + text::class, + 'customname', + new lang_string('custominstancename', 'core_enrol'), + $this->get_entity_name(), + "{$enrolalias}.name" + )) + ->add_joins($this->get_joins()); + // Enabled filter. $filters[] = (new filter( boolean_select::class,