Merge branch 'MDL-80564-403' of https://github.com/marinaglancy/moodle into MOODLE_403_STABLE
This commit is contained in:
@@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user