From d0d749289d6aa83c8b196183a0ad20cb5872c6a7 Mon Sep 17 00:00:00 2001 From: Paul Holden Date: Mon, 11 Apr 2022 14:57:05 +0100 Subject: [PATCH] MDL-74477 reportbuilder: sortable custom user profile field columns. --- reportbuilder/classes/local/helpers/user_profile_fields.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/reportbuilder/classes/local/helpers/user_profile_fields.php b/reportbuilder/classes/local/helpers/user_profile_fields.php index be1e04bb495..56c837e79ee 100644 --- a/reportbuilder/classes/local/helpers/user_profile_fields.php +++ b/reportbuilder/classes/local/helpers/user_profile_fields.php @@ -123,6 +123,8 @@ class user_profile_fields { foreach ($this->userprofilefields as $profilefield) { $userinfotablealias = database::generate_alias(); + $columntype = $this->get_user_field_type($profilefield->field->datatype); + $column = (new column( 'profilefield_' . $profilefield->field->shortname, new lang_string('customfieldcolumn', 'core_reportbuilder', @@ -135,7 +137,8 @@ class user_profile_fields { "ON {$userinfotablealias}.userid = {$this->usertablefieldalias} " . "AND {$userinfotablealias}.fieldid = {$profilefield->fieldid}") ->add_field("{$userinfotablealias}.data") - ->set_type($this->get_user_field_type($profilefield->field->datatype)) + ->set_type($columntype) + ->set_is_sortable($columntype !== column::TYPE_LONGTEXT) ->add_callback([$this, 'format_profile_field'], $profilefield); $columns[] = $column;