Merge branch 'MDL-41847-master' of git://github.com/sarjona/moodle
authorEloy Lafuente (stronk7) <stronk7@moodle.org>
Tue, 31 Jul 2018 21:50:43 +0000 (23:50 +0200)
committerEloy Lafuente (stronk7) <stronk7@moodle.org>
Tue, 31 Jul 2018 21:50:43 +0000 (23:50 +0200)
lib/moodlelib.php
user/editlib.php
user/tests/behat/addnewuser.feature [new file with mode: 0644]

index 928ec9f..79f91fd 100644 (file)
@@ -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);
index f22e2cb..b071e25 100644 (file)
@@ -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 (file)
index 0000000..37dc93b
--- /dev/null
@@ -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"