#677766 by matason and atheneus: Fixed Account gets blocked when user edits their profile. (with tests)
parent
157dc1e0b1
commit
d1f26518a3
|
@ -998,10 +998,10 @@ function user_account_form(&$form, &$form_state) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($admin) {
|
if ($admin) {
|
||||||
$status = (isset($account->status) ? $account->status : 1);
|
$status = isset($account->status) ? $account->status : 1;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$status = (variable_get('user_register', 1) == 1);
|
$status = $register ? variable_get('user_register', 1) == 1 : $account->status;
|
||||||
}
|
}
|
||||||
$form['account']['status'] = array(
|
$form['account']['status'] = array(
|
||||||
'#type' => 'radios',
|
'#type' => 'radios',
|
||||||
|
|
|
@ -1421,3 +1421,39 @@ class UserEditTestCase extends DrupalWebTestCase {
|
||||||
$this->drupalLogout();
|
$this->drupalLogout();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Test that a user, having editing their own account, can still log in.
|
||||||
|
*/
|
||||||
|
class UserEditedOwnAccountTestCase extends DrupalWebTestCase {
|
||||||
|
|
||||||
|
public static function getInfo() {
|
||||||
|
return array(
|
||||||
|
'name' => 'User edited own account',
|
||||||
|
'description' => 'Test user edited own account can still log in.',
|
||||||
|
'group' => 'User',
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
function testUserEditedOwnAccount() {
|
||||||
|
// Change account setting 'Who can register accounts?' to Administrators
|
||||||
|
// only.
|
||||||
|
variable_set('user_register', 0);
|
||||||
|
|
||||||
|
// Create a new user account and log in.
|
||||||
|
$account = $this->drupalCreateUser(array('change own username'));
|
||||||
|
$this->drupalLogin($account);
|
||||||
|
|
||||||
|
// Change own username.
|
||||||
|
$edit = array();
|
||||||
|
$edit['name'] = $this->randomName();
|
||||||
|
$this->drupalPost('user/' . $account->uid . '/edit', $edit, t('Save'));
|
||||||
|
|
||||||
|
// Log out.
|
||||||
|
$this->drupalLogout();
|
||||||
|
|
||||||
|
// Set the new name on the user account and attempt to log back in.
|
||||||
|
$account->name = $edit['name'];
|
||||||
|
$this->drupalLogin($account);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue