This commit is contained in:
Jun Pataleta 2025-06-12 11:07:53 +08:00
commit cb8e6d38bb
No known key found for this signature in database
GPG key ID: F83510526D99E2C7
2 changed files with 18 additions and 2 deletions

View file

@ -18,8 +18,8 @@ declare(strict_types=1);
namespace core_group\reportbuilder\local\entities; namespace core_group\reportbuilder\local\entities;
use core_reportbuilder\local\filters\date; use core\lang_string;
use lang_string; use core_reportbuilder\local\filters\{date, text};
use core_reportbuilder\local\entities\base; use core_reportbuilder\local\entities\base;
use core_reportbuilder\local\helpers\format; use core_reportbuilder\local\helpers\format;
use core_reportbuilder\local\report\{column, filter}; use core_reportbuilder\local\report\{column, filter};
@ -127,6 +127,16 @@ class group_member extends base {
)) ))
->add_joins($this->get_joins()); ->add_joins($this->get_joins());
// Component filter.
$filters[] = (new filter(
text::class,
'component',
new lang_string('plugin', 'core'),
$this->get_entity_name(),
"{$groupsmembersalias}.component"
))
->add_joins($this->get_joins());
return $filters; return $filters;
} }
} }

View file

@ -314,6 +314,12 @@ final class groups_test extends core_reportbuilder_testcase {
'group_member:timeadded_operator' => date::DATE_RANGE, 'group_member:timeadded_operator' => date::DATE_RANGE,
'group_member:timeadded_to' => 1622502000, 'group_member:timeadded_to' => 1622502000,
], false], ], false],
'Filter group member component' => ['group_member:component', [
'group_member:component_operator' => text::IS_EMPTY,
], true],
'Filter group member component (no match)' => ['group_member:component', [
'group_member:component_operator' => text::IS_NOT_EMPTY,
], false],
// User (just to test join). // User (just to test join).
'Filter user username' => ['user:username', [ 'Filter user username' => ['user:username', [