summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorDries Buytaert <dries@buytaert.net>2009-12-01 22:30:31 +0000
committerDries Buytaert <dries@buytaert.net>2009-12-01 22:30:31 +0000
commitbdf018696fa40eef6f20316a5c1927bfb240f0eb (patch)
treea8b4b0a1ca587a1e41c5cefdb2e2f896c3dd5c29 /modules
parent48377c459b7663cc29e137573d4357823c6a6d98 (diff)
downloadbrdo-bdf018696fa40eef6f20316a5c1927bfb240f0eb.tar.gz
brdo-bdf018696fa40eef6f20316a5c1927bfb240f0eb.tar.bz2
- Patch #446666 by cweagans: split 'administer site configuration' into more granular permissions.
Diffstat (limited to 'modules')
-rw-r--r--modules/block/block.test6
-rw-r--r--modules/color/color.test2
-rw-r--r--modules/system/system.module26
-rw-r--r--modules/system/system.test9
-rw-r--r--modules/update/update.test2
-rw-r--r--modules/user/user.test2
6 files changed, 27 insertions, 20 deletions
diff --git a/modules/block/block.test b/modules/block/block.test
index 60f994a84..08ef8082d 100644
--- a/modules/block/block.test
+++ b/modules/block/block.test
@@ -235,7 +235,7 @@ class NonDefaultBlockAdmin extends DrupalWebTestCase {
* Test non-default theme admin.
*/
function testNonDefaultBlockAdmin() {
- $admin_user = $this->drupalCreateUser(array('administer blocks', 'administer site configuration'));
+ $admin_user = $this->drupalCreateUser(array('administer blocks', 'administer themes'));
$this->drupalLogin($admin_user);
theme_enable(array('stark'));
$this->drupalGet('admin/structure/block/list/stark');
@@ -259,7 +259,7 @@ class NewDefaultThemeBlocks extends DrupalWebTestCase {
*/
function testNewDefaultThemeBlocks() {
// Create administrative user.
- $admin_user = $this->drupalCreateUser(array('administer site configuration'));
+ $admin_user = $this->drupalCreateUser(array('administer themes'));
$this->drupalLogin($admin_user);
// Ensure no other theme's blocks are in the block table yet.
@@ -304,7 +304,7 @@ class BlockAdminThemeTestCase extends DrupalWebTestCase {
*/
function testAdminTheme() {
// Create administrative user.
- $admin_user = $this->drupalCreateUser(array('administer blocks', 'administer site configuration'));
+ $admin_user = $this->drupalCreateUser(array('administer blocks', 'administer themes'));
$this->drupalLogin($admin_user);
// Ensure that access to block admin page is denied when theme is disabled.
diff --git a/modules/color/color.test b/modules/color/color.test
index caaa92557..7b01b80b9 100644
--- a/modules/color/color.test
+++ b/modules/color/color.test
@@ -23,7 +23,7 @@ class ColorTestCase extends DrupalWebTestCase {
function setUp() {
parent::setUp('color');
// Create users.
- $this->big_user = $this->drupalCreateUser(array('administer site configuration'));
+ $this->big_user = $this->drupalCreateUser(array('administer themes'));
}
/**
diff --git a/modules/system/system.module b/modules/system/system.module
index e960d83a2..67c54e7ec 100644
--- a/modules/system/system.module
+++ b/modules/system/system.module
@@ -204,9 +204,15 @@ function system_theme() {
*/
function system_permission() {
return array(
+ 'administer modules' => array(
+ 'title' => t('Administer modules'),
+ ),
'administer site configuration' => array(
'title' => t('Administer site configuration'),
),
+ 'administer themes' => array(
+ 'title' => t('Administer themes'),
+ ),
'administer software updates' => array(
'title' => t('Run software updates'),
),
@@ -582,7 +588,7 @@ function system_menu() {
'title' => 'Appearance',
'description' => 'Select and configure your site theme.',
'page callback' => 'system_themes_page',
- 'access arguments' => array('administer site configuration'),
+ 'access arguments' => array('administer themes'),
'position' => 'left',
'weight' => -6,
'file' => 'system.admin.inc',
@@ -597,21 +603,21 @@ function system_menu() {
$items['admin/appearance/enable'] = array(
'title' => 'Enable theme',
'page callback' => 'system_theme_enable',
- 'access arguments' => array('administer site configuration'),
+ 'access arguments' => array('administer themes'),
'type' => MENU_CALLBACK,
'file' => 'system.admin.inc',
);
$items['admin/appearance/disable'] = array(
'title' => 'Disable theme',
'page callback' => 'system_theme_disable',
- 'access arguments' => array('administer site configuration'),
+ 'access arguments' => array('administer themes'),
'type' => MENU_CALLBACK,
'file' => 'system.admin.inc',
);
$items['admin/appearance/default'] = array(
'title' => 'Set default theme',
'page callback' => 'system_theme_default',
- 'access arguments' => array('administer site configuration'),
+ 'access arguments' => array('administer themes'),
'type' => MENU_CALLBACK,
'file' => 'system.admin.inc',
);
@@ -620,7 +626,7 @@ function system_menu() {
'description' => 'Configure default and theme specific settings.',
'page callback' => 'drupal_get_form',
'page arguments' => array('system_theme_settings'),
- 'access arguments' => array('administer site configuration'),
+ 'access arguments' => array('administer themes'),
'type' => MENU_LOCAL_TASK,
'file' => 'system.admin.inc',
);
@@ -661,7 +667,7 @@ function system_menu() {
'description' => 'Enable or disable add-on modules for your site.',
'page callback' => 'drupal_get_form',
'page arguments' => array('system_modules'),
- 'access arguments' => array('administer site configuration'),
+ 'access arguments' => array('administer modules'),
'file' => 'system.admin.inc',
'type' => MENU_LOCAL_TASK,
'weight' => 10,
@@ -672,19 +678,19 @@ function system_menu() {
);
$items['admin/config/modules/list/confirm'] = array(
'title' => 'List',
- 'access arguments' => array('administer site configuration'),
+ 'access arguments' => array('administer modules'),
'type' => MENU_CALLBACK,
);
$items['admin/config/modules/uninstall'] = array(
'title' => 'Uninstall',
'page arguments' => array('system_modules_uninstall'),
- 'access arguments' => array('administer site configuration'),
+ 'access arguments' => array('administer modules'),
'type' => MENU_LOCAL_TASK,
'file' => 'system.admin.inc',
);
$items['admin/config/modules/uninstall/confirm'] = array(
'title' => 'Uninstall',
- 'access arguments' => array('administer site configuration'),
+ 'access arguments' => array('administer modules'),
'type' => MENU_CALLBACK,
'file' => 'system.admin.inc',
);
@@ -1471,7 +1477,7 @@ function blocked_ip_load($iid) {
* Menu item access callback - only admin or enabled themes can be accessed.
*/
function _system_themes_access($theme) {
- return user_access('administer site configuration') && drupal_theme_access($theme);
+ return user_access('administer themes') && drupal_theme_access($theme);
}
/**
diff --git a/modules/system/system.test b/modules/system/system.test
index 27c327675..ff43b97ec 100644
--- a/modules/system/system.test
+++ b/modules/system/system.test
@@ -10,7 +10,7 @@ class ModuleTestCase extends DrupalWebTestCase {
function setUp() {
parent::setUp('system_test');
- $this->admin_user = $this->drupalCreateUser(array('access administration pages', 'administer site configuration'));
+ $this->admin_user = $this->drupalCreateUser(array('access administration pages', 'administer modules'));
$this->drupalLogin($this->admin_user);
}
@@ -1023,6 +1023,7 @@ class SystemMainContentFallback extends DrupalWebTestCase {
$this->admin_user = $this->drupalCreateUser(array(
'access administration pages',
'administer site configuration',
+ 'administer modules',
'administer blocks',
'administer nodes',
));
@@ -1050,7 +1051,7 @@ class SystemMainContentFallback extends DrupalWebTestCase {
// At this point, no region is filled and fallback should be triggered.
$this->drupalGet('admin/config/system/site-information');
- $this->assertField('site_name', t('Admin interface still availble.'));
+ $this->assertField('site_name', t('Admin interface still available.'));
// Fallback should not trigger when another module is handling content.
$this->drupalGet('system-test/main-content-handling');
@@ -1071,7 +1072,7 @@ class SystemMainContentFallback extends DrupalWebTestCase {
// Request a user* page and see if it is displayed.
$this->drupalLogin($this->web_user);
$this->drupalGet('user/' . $this->web_user->uid . '/edit');
- $this->assertField('mail', t('User interface still availble.'));
+ $this->assertField('mail', t('User interface still available.'));
// Enable the block module again.
$this->drupalLogin($this->admin_user);
@@ -1176,7 +1177,7 @@ class SystemThemeFunctionalTest extends DrupalWebTestCase {
function setUp() {
parent::setUp();
- $this->admin_user = $this->drupalCreateUser(array('access administration pages', 'administer site configuration', 'bypass node access'));
+ $this->admin_user = $this->drupalCreateUser(array('access administration pages', 'administer themes', 'bypass node access'));
$this->drupalLogin($this->admin_user);
$this->node = $this->drupalCreateNode();
}
diff --git a/modules/update/update.test b/modules/update/update.test
index 98e6329fc..4eda46e76 100644
--- a/modules/update/update.test
+++ b/modules/update/update.test
@@ -63,7 +63,7 @@ class UpdateCoreTestCase extends UpdateTestHelper {
function setUp() {
parent::setUp('update_test', 'update');
- $admin_user = $this->drupalCreateUser(array('administer site configuration'));
+ $admin_user = $this->drupalCreateUser(array('administer site configuration', 'administer modules'));
$this->drupalLogin($admin_user);
}
diff --git a/modules/user/user.test b/modules/user/user.test
index 47727f8a6..3ee3f15f6 100644
--- a/modules/user/user.test
+++ b/modules/user/user.test
@@ -872,7 +872,7 @@ class UserPermissionsTestCase extends DrupalWebTestCase {
function setUp() {
parent::setUp();
- $this->admin_user = $this->drupalCreateUser(array('administer permissions', 'access user profiles', 'administer site configuration', 'administer users'));
+ $this->admin_user = $this->drupalCreateUser(array('administer permissions', 'access user profiles', 'administer site configuration', 'administer modules', 'administer users'));
// Find the new role ID - it must be the maximum.
$all_rids = array_keys($this->admin_user->roles);