mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-28 06:08:52 +00:00
Merge remote-tracking branch 'bantu/ticket/12176' into develop-olympus
* bantu/ticket/12176: [ticket/12176] Reword comment about config entries. [ticket/12176] Add newest_user_colour to config array to ensure it exists [ticket/12176] Display correct message when trying to delete founder. [ticket/12176] Add functional test for founder deletion message.
This commit is contained in:
commit
03eb23cbae
4 changed files with 62 additions and 2 deletions
|
@ -172,8 +172,7 @@ class acp_users
|
|||
|
||||
if ($submit)
|
||||
{
|
||||
// You can't delete the founder
|
||||
if ($delete && $user_row['user_type'] != USER_FOUNDER)
|
||||
if ($delete)
|
||||
{
|
||||
if (!$auth->acl_get('a_userdel'))
|
||||
{
|
||||
|
@ -186,6 +185,12 @@ class acp_users
|
|||
trigger_error($user->lang['CANNOT_REMOVE_ANONYMOUS'] . adm_back_link($this->u_action . '&u=' . $user_id), E_USER_WARNING);
|
||||
}
|
||||
|
||||
// Founders can not be deleted.
|
||||
if ($user_row['user_type'] == USER_FOUNDER)
|
||||
{
|
||||
trigger_error($user->lang['CANNOT_REMOVE_FOUNDER'] . adm_back_link($this->u_action . '&u=' . $user_id), E_USER_WARNING);
|
||||
}
|
||||
|
||||
if ($user_id == $user->data['user_id'])
|
||||
{
|
||||
trigger_error($user->lang['CANNOT_REMOVE_YOURSELF'] . adm_back_link($this->u_action . '&u=' . $user_id), E_USER_WARNING);
|
||||
|
|
|
@ -52,6 +52,7 @@ $lang = array_merge($lang, array(
|
|||
'CANNOT_FORCE_REACT_FOUNDER' => 'You are not allowed to force reactivation on founder accounts.',
|
||||
'CANNOT_FORCE_REACT_YOURSELF' => 'You are not allowed to force reactivation of your own account.',
|
||||
'CANNOT_REMOVE_ANONYMOUS' => 'You are not able to remove the guest user account.',
|
||||
'CANNOT_REMOVE_FOUNDER' => 'You are not allowed to remove founder accounts.',
|
||||
'CANNOT_REMOVE_YOURSELF' => 'You are not allowed to remove your own user account.',
|
||||
'CANNOT_SET_FOUNDER_IGNORED' => 'You are not able to promote ignored users to be founders.',
|
||||
'CANNOT_SET_FOUNDER_INACTIVE' => 'You need to activate users before you promote them to founders, only activated users are able to be promoted.',
|
||||
|
|
45
tests/functional/acp_users_test.php
Normal file
45
tests/functional/acp_users_test.php
Normal file
|
@ -0,0 +1,45 @@
|
|||
<?php
|
||||
/**
|
||||
*
|
||||
* @package testing
|
||||
* @copyright (c) 2014 phpBB Group
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* @group functional
|
||||
*/
|
||||
class phpbb_functional_acp_users_test extends phpbb_functional_test_case
|
||||
{
|
||||
public function setUp()
|
||||
{
|
||||
parent::setUp();
|
||||
|
||||
$this->login();
|
||||
$this->admin_login();
|
||||
$this->add_lang('acp/users');
|
||||
}
|
||||
|
||||
public function test_founder_deletion()
|
||||
{
|
||||
$username = 'founder-account';
|
||||
$user_id = $this->create_user($username);
|
||||
$this->make_founder($user_id);
|
||||
|
||||
$crawler = self::request('GET', "adm/index.php?i=users&mode=overview&u=$user_id&sid={$this->sid}");
|
||||
$form = $crawler->filter('#user_delete')->selectButton($this->lang('SUBMIT'))->form();
|
||||
$crawler = self::submit($form);
|
||||
$this->assertContains($this->lang('CANNOT_REMOVE_FOUNDER'), $this->get_content());
|
||||
}
|
||||
|
||||
protected function make_founder($user_id)
|
||||
{
|
||||
$crawler = self::request('GET', "adm/index.php?i=users&mode=overview&u=$user_id&sid={$this->sid}");
|
||||
$form = $crawler->filter('#user_overview')->selectButton($this->lang('SUBMIT'))->form();
|
||||
$data = array('user_founder' => '1');
|
||||
$form->setValues($data);
|
||||
$crawler = self::submit($form);
|
||||
$this->assertContains($this->lang('USER_OVERVIEW_UPDATED'), $this->get_content());
|
||||
}
|
||||
}
|
|
@ -423,6 +423,15 @@ class phpbb_functional_test_case extends phpbb_test_case
|
|||
$config = array();
|
||||
}
|
||||
|
||||
/*
|
||||
* Add required config entries to the config array to prevent
|
||||
* set_config() sending an INSERT query for already existing entries,
|
||||
* resulting in a SQL error.
|
||||
* This is because set_config() first sends an UPDATE query, then checks
|
||||
* sql_affectedrows() which can be 0 (e.g. on MySQL) when the new
|
||||
* data is already there.
|
||||
*/
|
||||
$config['newest_user_colour'] = '';
|
||||
$config['rand_seed'] = '';
|
||||
$config['rand_seed_last_update'] = time() + 600;
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue