From 2857ca0c9f08ebc4efcefab860f8ae94d4f870b7 Mon Sep 17 00:00:00 2001 From: Sara Arjona Date: Tue, 17 Jul 2018 13:17:57 +0200 Subject: [PATCH 1/2] MDL-41847 core_user: Add lang to login URL email for new user accounts --- lib/moodlelib.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/moodlelib.php b/lib/moodlelib.php index cb3ab9970a9..f7cb890d36d 100644 --- a/lib/moodlelib.php +++ b/lib/moodlelib.php @@ -6145,7 +6145,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); From 502b17bebd51bf55643ce8d674a6dd8f1ec94bac Mon Sep 17 00:00:00 2001 From: Sara Arjona Date: Fri, 20 Jul 2018 15:25:09 +0200 Subject: [PATCH 2/2] MDL-41847 core_user: Add preferred lang field to the user creation form The preferred language has been added only to the user creation form. For existing users, you should access to the user profile, click over Preferences and go to the Preferred language page. --- user/editlib.php | 6 ++++++ user/tests/behat/addnewuser.feature | 22 ++++++++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 user/tests/behat/addnewuser.feature diff --git a/user/editlib.php b/user/editlib.php index b3874644107..d5bbd1ed4f7 100644 --- a/user/editlib.php +++ b/user/editlib.php @@ -327,6 +327,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"