mirror of
https://github.com/moodle/moodle.git
synced 2025-08-05 00:46:50 +02:00
MDL-72634 user: populate default city/country during user creation.
This commit is contained in:
parent
34ce1463cc
commit
b6d8939959
3 changed files with 37 additions and 4 deletions
|
@ -3902,10 +3902,6 @@ function create_user_record($username, $password, $auth = 'manual') {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!isset($newuser->city)) {
|
|
||||||
$newuser->city = '';
|
|
||||||
}
|
|
||||||
|
|
||||||
$newuser->auth = $auth;
|
$newuser->auth = $auth;
|
||||||
$newuser->username = $username;
|
$newuser->username = $username;
|
||||||
|
|
||||||
|
|
|
@ -94,6 +94,13 @@ function user_create_user($user, $updatepassword = true, $triggerevent = true) {
|
||||||
if (!isset($user->lang)) {
|
if (!isset($user->lang)) {
|
||||||
$user->lang = core_user::get_property_default('lang');
|
$user->lang = core_user::get_property_default('lang');
|
||||||
}
|
}
|
||||||
|
if (!isset($user->city)) {
|
||||||
|
$user->city = core_user::get_property_default('city');
|
||||||
|
}
|
||||||
|
if (!isset($user->country)) {
|
||||||
|
// The default value of $CFG->country is 0, but that isn't a valid property for the user field, so switch to ''.
|
||||||
|
$user->country = core_user::get_property_default('country') ?: '';
|
||||||
|
}
|
||||||
|
|
||||||
$user->timecreated = time();
|
$user->timecreated = time();
|
||||||
$user->timemodified = $user->timecreated;
|
$user->timemodified = $user->timecreated;
|
||||||
|
|
|
@ -300,6 +300,36 @@ class core_userliblib_testcase extends advanced_testcase {
|
||||||
$this->assertDebuggingNotCalled();
|
$this->assertDebuggingNotCalled();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Test that creating users populates default values
|
||||||
|
*
|
||||||
|
* @covers ::user_create_user
|
||||||
|
*/
|
||||||
|
public function test_user_create_user_default_values(): void {
|
||||||
|
global $CFG;
|
||||||
|
|
||||||
|
$this->resetAfterTest();
|
||||||
|
|
||||||
|
// Update default values for city/country (both initially empty).
|
||||||
|
set_config('defaultcity', 'Nadi');
|
||||||
|
set_config('country', 'FJ');
|
||||||
|
|
||||||
|
$userid = user_create_user((object) [
|
||||||
|
'username' => 'newuser',
|
||||||
|
], false, false);
|
||||||
|
|
||||||
|
$user = core_user::get_user($userid);
|
||||||
|
$this->assertEquals($CFG->calendartype, $user->calendartype);
|
||||||
|
$this->assertEquals($CFG->defaultpreference_maildisplay, $user->maildisplay);
|
||||||
|
$this->assertEquals($CFG->defaultpreference_mailformat, $user->mailformat);
|
||||||
|
$this->assertEquals($CFG->defaultpreference_maildigest, $user->maildigest);
|
||||||
|
$this->assertEquals($CFG->defaultpreference_autosubscribe, $user->autosubscribe);
|
||||||
|
$this->assertEquals($CFG->defaultpreference_trackforums, $user->trackforums);
|
||||||
|
$this->assertEquals($CFG->lang, $user->lang);
|
||||||
|
$this->assertEquals($CFG->defaultcity, $user->city);
|
||||||
|
$this->assertEquals($CFG->country, $user->country);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test that {@link user_create_user()} throws exception when invalid username is provided.
|
* Test that {@link user_create_user()} throws exception when invalid username is provided.
|
||||||
*
|
*
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue