MDL-64570 user: input field purpose
authorDamyon Wiese <damyon@moodle.com>
Wed, 20 Feb 2019 01:42:26 +0000 (09:42 +0800)
committerDamyon Wiese <damyon@moodle.com>
Wed, 20 Feb 2019 01:42:26 +0000 (09:42 +0800)
Do not autocomplete the user fields when editing another user.

user/lib.php
user/tests/behat/behat_user.php

index 63b94c9..967f925 100644 (file)
@@ -1601,11 +1601,8 @@ function user_edit_map_field_purpose($userid, $fieldname) {
     );
 
     $purpose = '';
-    if (!$currentuser) {
-        // Do not set a purpose.
-        $purpose = '';
-    }
-    if (isset($validmappings[$fieldname])) {
+    // Only set a purpose when editing your own user details.
+    if ($currentuser && isset($validmappings[$fieldname])) {
         $purpose = ' autocomplete="' . $validmappings[$fieldname] . '" ';
     }
 
index 2e39f12..a3f4bba 100644 (file)
@@ -27,6 +27,8 @@
 
 require_once(__DIR__ . '/../../../lib/behat/behat_base.php');
 
+use Behat\Mink\Exception\ExpectationException as ExpectationException;
+
 /**
  * Steps definitions for users.
  *
@@ -83,7 +85,7 @@ class behat_user extends behat_base {
 
         $value = $fld->get_attribute('autocomplete');
         if ($value == $purpose) {
-            throw new ExpectationException('The "' . $field . '" field does have purposea "' . $purpose . '"', $this->getSession());
+            throw new ExpectationException('The "' . $field . '" field does have purpose "' . $purpose . '"', $this->getSession());
         }
     }
 }