diff --git a/lib/moodlelib.php b/lib/moodlelib.php index 928ec9f63ce..79f91fd36fb 100644 --- a/lib/moodlelib.php +++ b/lib/moodlelib.php @@ -6186,7 +6186,7 @@ function setnew_password_and_mail($user, $fasthash = false) { $a->sitename = format_string($site->fullname); $a->username = $user->username; $a->newpassword = $newpassword; - $a->link = $CFG->wwwroot .'/login/'; + $a->link = $CFG->wwwroot .'/login/?lang='.$lang; $a->signoff = generate_email_signoff(); $message = (string)new lang_string('newusernewpasswordtext', '', $a, $lang); diff --git a/user/editlib.php b/user/editlib.php index f22e2cb8b22..b071e25b644 100644 --- a/user/editlib.php +++ b/user/editlib.php @@ -318,6 +318,12 @@ function useredit_shared_definition(&$mform, $editoroptions, $filemanageroptions $mform->addElement('select', 'timezone', get_string('timezone'), $choices); } + if ($user->id < 0) { + $mform->addElement('select', 'lang', get_string('preferredlanguage'), get_string_manager()->get_list_of_translations()); + $lang = empty($user->lang) ? $CFG->lang : $user->lang; + $mform->setDefault('lang', $lang); + } + if (!empty($CFG->allowuserthemes)) { $choices = array(); $choices[''] = get_string('default'); diff --git a/user/tests/behat/addnewuser.feature b/user/tests/behat/addnewuser.feature new file mode 100644 index 00000000000..37dc93bfb95 --- /dev/null +++ b/user/tests/behat/addnewuser.feature @@ -0,0 +1,22 @@ +@core @core_user +Feature: Create manually an user. + In order create a user properly + As an admin + I need to be able to add new users and edit their fields. + + @javascript + Scenario: Change default language for a new user + Given I log in as "admin" + When I navigate to "Add a new user" node in "Site administration > Users > Accounts" + Then I should see "Preferred language" + + @javascript + Scenario: Language not displayed when editing an existing user + Given the following "users" exist: + | username | firstname | lastname | email | + | student1 | Student | 1 | student1@example.com | + When I log in as "admin" + And I navigate to "Browse list of users" node in "Site administration > Users > Accounts" + And I follow "Student 1" + And I follow "Edit profile" + Then I should not see "Preferred language"