This commit is contained in:
Sara Arjona 2025-01-29 16:22:11 +01:00
commit 39a5efeace
No known key found for this signature in database
4 changed files with 19 additions and 2 deletions

View File

@ -136,6 +136,7 @@ filterbyname,core_grades
filterfirstactive,core_grades
filterlastactive,core_grades
privacy:metadata:preference:reportfilter,core_reportbuilder
userpicture,core_reportbuilder
noreplybouncemessage,core
noreplybouncesubject,core
configgeneralquestionbank,core_backup

View File

@ -289,7 +289,6 @@ $string['userfullnamewithlink'] = 'Full name with link';
$string['userfullnamewithpicture'] = 'Full name with picture';
$string['userfullnamewithpicturelink'] = 'Full name with picture and link';
$string['usermodified'] = 'Modified by';
$string['userpicture'] = 'User picture';
$string['userselect'] = 'Select user';
$string['viewreport'] = 'View report';
@ -302,3 +301,4 @@ $string['filterdateto'] = 'Date to';
// Deprecated since Moodle 5.0.
$string['privacy:metadata:preference:reportfilter'] = 'Stored report filter values';
$string['userpicture'] = 'User picture';

View File

@ -278,7 +278,7 @@ class user extends base {
// Picture column.
$columns[] = (new column(
'picture',
new lang_string('userpicture', 'core_reportbuilder'),
new lang_string('picture'),
$this->get_entity_name()
))
->add_joins($this->get_joins())
@ -506,6 +506,16 @@ class user extends base {
))
->add_joins($this->get_joins());
// Picture filter.
$filters[] = (new filter(
boolean_select::class,
'picture',
new lang_string('picture'),
$this->get_entity_name(),
"CASE WHEN {$tablealias}.picture > 0 THEN 1 ELSE 0 END",
))
->add_joins($this->get_joins());
// User fields filters.
$fields = $this->get_user_fields();
foreach ($fields as $field => $name) {

View File

@ -279,6 +279,12 @@ final class users_test extends core_reportbuilder_testcase {
'user:fullname_operator' => text::CONTAINS,
'user:fullname_value' => 'Alfie',
], false],
'Filter picture' => ['user:picture', [
'user:picture_operator' => boolean_select::NOT_CHECKED,
], true],
'Filter picture (no match)' => ['user:picture', [
'user:picture_operator' => boolean_select::CHECKED,
], false],
'Filter firstname' => ['user:firstname', [
'user:firstname_operator' => text::IS_EQUAL_TO,
'user:firstname_value' => 'Zoe',