MDL-76471 enrol: report filter on enrolment instance custom name.

This commit is contained in:
Paul Holden 2023-01-18 19:33:28 +00:00
parent 2e1c6fd43e
commit 5961c2d9cd
No known key found for this signature in database
GPG Key ID: A81A96D6045F6164
2 changed files with 27 additions and 1 deletions

View File

@ -24,6 +24,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;
@ -281,6 +282,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',
[

View File

@ -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,