Merge branch 'MDL-61402' of https://github.com/mkassaei/moodle
authorJake Dallimore <jake@moodle.com>
Tue, 20 Feb 2018 02:36:41 +0000 (10:36 +0800)
committerAndrew Nicols <andrew@nicols.co.uk>
Thu, 22 Feb 2018 00:30:53 +0000 (08:30 +0800)
user/edit.php
user/edit_form.php
user/editadvanced.php
user/editadvanced_form.php
user/tests/behat/name_fields.feature

index f837016..7fc19ff 100644 (file)
@@ -176,18 +176,20 @@ $userform = new user_edit_form(new moodle_url($PAGE->url, array('returnto' => $r
 
 $emailchanged = false;
 
-if ($usernew = $userform->get_data()) {
-
-    // Deciding where to send the user back in most cases.
-    if ($returnto === 'profile') {
-        if ($course->id != SITEID) {
-            $returnurl = new moodle_url('/user/view.php', array('id' => $user->id, 'course' => $course->id));
-        } else {
-            $returnurl = new moodle_url('/user/profile.php', array('id' => $user->id));
-        }
+// Deciding where to send the user back in most cases.
+if ($returnto === 'profile') {
+    if ($course->id != SITEID) {
+        $returnurl = new moodle_url('/user/view.php', array('id' => $user->id, 'course' => $course->id));
     } else {
-        $returnurl = new moodle_url('/user/preferences.php', array('userid' => $user->id));
+        $returnurl = new moodle_url('/user/profile.php', array('id' => $user->id));
     }
+} else {
+    $returnurl = new moodle_url('/user/preferences.php', array('userid' => $user->id));
+}
+
+if ($userform->is_cancelled()) {
+    redirect($returnurl);
+} else if ($usernew = $userform->get_data()) {
 
     $emailchangedhtml = '';
 
index bb614ac..4f2214f 100644 (file)
@@ -104,7 +104,7 @@ class user_edit_form extends moodleform {
         // Next the customisable profile fields.
         profile_definition($mform, $userid);
 
-        $this->add_action_buttons(false, get_string('updatemyprofile'));
+        $this->add_action_buttons(true, get_string('updatemyprofile'));
 
         $this->set_data($user);
     }
index 6f3d07e..07fc5e0 100644 (file)
@@ -154,7 +154,21 @@ $userform = new user_editadvanced_form(new moodle_url($PAGE->url, array('returnt
     'filemanageroptions' => $filemanageroptions,
     'user' => $user));
 
-if ($usernew = $userform->get_data()) {
+
+// Deciding where to send the user back in most cases.
+if ($returnto === 'profile') {
+    if ($course->id != SITEID) {
+        $returnurl = new moodle_url('/user/view.php', array('id' => $user->id, 'course' => $course->id));
+    } else {
+        $returnurl = new moodle_url('/user/profile.php', array('id' => $user->id));
+    }
+} else {
+    $returnurl = new moodle_url('/user/preferences.php', array('userid' => $user->id));
+}
+
+if ($userform->is_cancelled()) {
+    redirect($returnurl);
+} else if ($usernew = $userform->get_data()) {
     $usercreated = false;
 
     if (empty($usernew->auth)) {
@@ -292,15 +306,6 @@ if ($usernew = $userform->get_data()) {
             // Somebody double clicked when editing admin user during install.
             redirect("$CFG->wwwroot/$CFG->admin/");
         } else {
-            if ($returnto === 'profile') {
-                if ($course->id != SITEID) {
-                    $returnurl = new moodle_url('/user/view.php', array('id' => $user->id, 'course' => $course->id));
-                } else {
-                    $returnurl = new moodle_url('/user/profile.php', array('id' => $user->id));
-                }
-            } else {
-                $returnurl = new moodle_url('/user/preferences.php', array('userid' => $user->id));
-            }
             redirect($returnurl);
         }
     } else {
index d2bd16a..fe2fd31 100644 (file)
@@ -154,7 +154,7 @@ class user_editadvanced_form extends moodleform {
             $btnstring = get_string('updatemyprofile');
         }
 
-        $this->add_action_buttons(false, $btnstring);
+        $this->add_action_buttons(true, $btnstring);
 
         $this->set_data($user);
     }
index d309ffd..4f26b27 100644 (file)
@@ -35,6 +35,13 @@ Feature: Both first name and surname are always available for every user
     # End UI test covering "I open my profile in edit mode"
     When I set the field "First name" to " "
     And I set the field "Surname" to " "
+    And I click on "Cancel" "button"
+    And I follow "Profile" in the user menu
+    And I click on "Edit profile" "link" in the "region-main" "region"
+    Then I should see "Foo"
+    And I should see "Bar"
+    When I set the field "First name" to " "
+    And I set the field "Surname" to " "
     And I click on "Update profile" "button"
     Then I should see "Missing given name"
     And I should see "Missing surname"
@@ -49,6 +56,13 @@ Feature: Both first name and surname are always available for every user
     And I click on "Edit profile" "link" in the "region-main" "region"
     When I set the field "First name" to " "
     And I set the field "Surname" to " "
+    And I click on "Cancel" "button"
+    And I follow "Foo Bar"
+    And I click on "Edit profile" "link" in the "region-main" "region"
+    Then I should see "Foo"
+    And I should see "Bar"
+    When I set the field "First name" to " "
+    And I set the field "Surname" to " "
     And I click on "Update profile" "button"
     Then I should see "Missing given name"
     And I should see "Missing surname"