Merge branch 'MDL-80564-403' of https://github.com/marinaglancy/moodle into MOODLE_403_STABLE

This commit is contained in:
Paul Holden
2024-01-12 09:07:40 +00:00
2 changed files with 9 additions and 2 deletions
@@ -372,7 +372,8 @@ class user extends base {
// Create a dummy user object containing all name fields.
$dummyuser = (object) array_combine($namefields, $namefields);
$dummyfullname = fullname($dummyuser, true);
$viewfullnames = has_capability('moodle/site:viewfullnames', context_system::instance());
$dummyfullname = fullname($dummyuser, $viewfullnames);
// Extract any name fields from the fullname format in the order that they appear.
$matchednames = array_values(order_in_string($namefields, $dummyfullname));
@@ -73,6 +73,7 @@ class user_test extends advanced_testcase {
*/
public function get_name_fields_select_provider(): array {
return [
['firstname', ['firstname']],
['firstname lastname', ['firstname', 'lastname']],
['firstname middlename lastname', ['firstname', 'middlename', 'lastname']],
['alternatename lastname firstname', ['alternatename', 'lastname', 'firstname']],
@@ -94,10 +95,15 @@ class user_test extends advanced_testcase {
set_config('alternativefullnameformat', $fullnamedisplay);
// As a user without permission to view all fields we always get the standard ones.
$fields = user::get_name_fields_select('u');
$user = $DB->get_record_sql("SELECT {$fields} FROM {user} u WHERE username = :username", ['username' => 'admin']);
$this->assertEquals(['firstname', 'lastname'], array_keys((array) $user));
// Ensure we received back all name fields.
// As the admin we get all name fields from alternativefullnameformat.
$this->setAdminUser();
$fields = user::get_name_fields_select('u');
$user = $DB->get_record_sql("SELECT {$fields} FROM {user} u WHERE username = :username", ['username' => 'admin']);
$this->assertEquals($expecteduserfields, array_keys((array) $user));
}
}