From 396b60a4c25dee4bebbe99b8143daed7f63cfd67 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 c95d57c7619..b3cbd8d6c14 100644 --- a/lib/moodlelib.php +++ b/lib/moodlelib.php @@ -6127,7 +6127,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 6e09d47fc55f48632b560e47a637998ad6412af9 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 c899defe206..6068c6272b8 100644 --- a/user/editlib.php +++ b/user/editlib.php @@ -326,6 +326,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"