mirror of
https://github.com/moodle/moodle.git
synced 2025-01-31 12:45:04 +01:00
Merge branch 'MDL-51945-master' of git://github.com/jleyva/moodle
This commit is contained in:
commit
be713b7144
@ -547,6 +547,16 @@ class core_user_external extends external_api {
|
||||
if ($existinguser->deleted or is_mnet_remote_user($existinguser) or isguestuser($existinguser->id)) {
|
||||
continue;
|
||||
}
|
||||
// Check duplicated emails.
|
||||
if (isset($user['email']) && $user['email'] !== $existinguser->email) {
|
||||
if (!validate_email($user['email'])) {
|
||||
continue;
|
||||
} else if (empty($CFG->allowaccountssameemail) &&
|
||||
$DB->record_exists('user', array('email' => $user['email'], 'mnethostid' => $CFG->mnet_localhost_id))) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
user_update_user($user, true, false);
|
||||
|
||||
// Update user picture if it was specified for this user.
|
||||
|
@ -676,6 +676,31 @@ class core_user_externallib_testcase extends externallib_advanced_testcase {
|
||||
core_user_external::update_users(array($user1));
|
||||
}
|
||||
|
||||
/**
|
||||
* Test update_users using duplicated email.
|
||||
*/
|
||||
public function test_update_users_duplicated_email() {
|
||||
global $DB, $CFG;
|
||||
|
||||
$this->resetAfterTest(true);
|
||||
$this->setAdminUser();
|
||||
|
||||
$user1 = self::getDataGenerator()->create_user();
|
||||
$user2 = self::getDataGenerator()->create_user();
|
||||
$user2toupdate = array(
|
||||
'id' => $user2->id,
|
||||
'email' => $user1->email,
|
||||
);
|
||||
// E-mail duplicated not allowed.
|
||||
$CFG->allowaccountssameemail = 0;
|
||||
core_user_external::update_users(array($user2toupdate));
|
||||
$this->assertNotEquals($user1->email, $DB->get_field('user', 'email', array('id' => $user2->id)));
|
||||
// E-mail duplicated allowed.
|
||||
$CFG->allowaccountssameemail = 1;
|
||||
core_user_external::update_users(array($user2toupdate));
|
||||
$this->assertEquals($user1->email, $DB->get_field('user', 'email', array('id' => $user2->id)));
|
||||
}
|
||||
|
||||
/**
|
||||
* Test add_user_private_files
|
||||
*/
|
||||
|
Loading…
x
Reference in New Issue
Block a user