From 3ef78cd3711919ba3e57ccc2e34a078bbca12855 Mon Sep 17 00:00:00 2001 From: amontero Date: Sun, 14 Oct 2012 18:19:49 +0200 Subject: [PATCH] "Administer Users" permission should be separate from "User Settings" --- .../block/Tests/BlockUserAccountSettingsTest.php | 2 +- .../Drupal/contact/Tests/ContactPersonalTest.php | 2 +- .../Drupal/contact/Tests/ContactSitewideTest.php | 2 +- .../lib/Drupal/field_ui/Tests/AlterTest.php | 2 +- .../lib/Drupal/user/Tests/UserPermissionsTest.php | 2 +- .../user/lib/Drupal/user/Tests/UserPictureTest.php | 2 +- core/modules/user/user.module | 10 +++++++--- 7 files changed, 13 insertions(+), 9 deletions(-) diff --git a/core/modules/block/lib/Drupal/block/Tests/BlockUserAccountSettingsTest.php b/core/modules/block/lib/Drupal/block/Tests/BlockUserAccountSettingsTest.php index ef482ee..8b8c3eb 100644 --- a/core/modules/block/lib/Drupal/block/Tests/BlockUserAccountSettingsTest.php +++ b/core/modules/block/lib/Drupal/block/Tests/BlockUserAccountSettingsTest.php @@ -31,7 +31,7 @@ public static function getInfo() { public function setUp() { parent::setUp(); - $admin_user = $this->drupalCreateUser(array('administer users')); + $admin_user = $this->drupalCreateUser(array('administer user settings')); $this->drupalLogin($admin_user); } diff --git a/core/modules/contact/lib/Drupal/contact/Tests/ContactPersonalTest.php b/core/modules/contact/lib/Drupal/contact/Tests/ContactPersonalTest.php index 77b19d0..7a00a2b 100644 --- a/core/modules/contact/lib/Drupal/contact/Tests/ContactPersonalTest.php +++ b/core/modules/contact/lib/Drupal/contact/Tests/ContactPersonalTest.php @@ -37,7 +37,7 @@ function setUp() { parent::setUp(); // Create an admin user. - $this->admin_user = $this->drupalCreateUser(array('administer contact forms', 'administer users')); + $this->admin_user = $this->drupalCreateUser(array('administer contact forms', 'administer users', 'administer user settings')); // Create some normal users with their contact forms enabled by default. config('contact.settings')->set('user_default_enabled', 1)->save(); diff --git a/core/modules/contact/lib/Drupal/contact/Tests/ContactSitewideTest.php b/core/modules/contact/lib/Drupal/contact/Tests/ContactSitewideTest.php index d02368b..beb8d7e 100644 --- a/core/modules/contact/lib/Drupal/contact/Tests/ContactSitewideTest.php +++ b/core/modules/contact/lib/Drupal/contact/Tests/ContactSitewideTest.php @@ -34,7 +34,7 @@ public static function getInfo() { */ function testSiteWideContact() { // Create and login administrative user. - $admin_user = $this->drupalCreateUser(array('access site-wide contact form', 'administer contact forms', 'administer users')); + $admin_user = $this->drupalCreateUser(array('access site-wide contact form', 'administer contact forms', 'administer user settings')); $this->drupalLogin($admin_user); $flood_limit = 3; diff --git a/core/modules/field_ui/lib/Drupal/field_ui/Tests/AlterTest.php b/core/modules/field_ui/lib/Drupal/field_ui/Tests/AlterTest.php index b410e1b..040536d 100644 --- a/core/modules/field_ui/lib/Drupal/field_ui/Tests/AlterTest.php +++ b/core/modules/field_ui/lib/Drupal/field_ui/Tests/AlterTest.php @@ -37,7 +37,7 @@ function setUp() { $this->drupalCreateContentType(array('type' => 'article', 'name' => 'Article')); // Create test user. - $admin_user = $this->drupalCreateUser(array('access content', 'administer content types', 'administer users')); + $admin_user = $this->drupalCreateUser(array('access content', 'administer content types', 'administer user settings')); $this->drupalLogin($admin_user); } diff --git a/core/modules/user/lib/Drupal/user/Tests/UserPermissionsTest.php b/core/modules/user/lib/Drupal/user/Tests/UserPermissionsTest.php index 43f43e3..e46baf0 100644 --- a/core/modules/user/lib/Drupal/user/Tests/UserPermissionsTest.php +++ b/core/modules/user/lib/Drupal/user/Tests/UserPermissionsTest.php @@ -24,7 +24,7 @@ public static function getInfo() { function setUp() { parent::setUp(); - $this->admin_user = $this->drupalCreateUser(array('administer permissions', 'access user profiles', 'administer site configuration', 'administer modules', 'administer users')); + $this->admin_user = $this->drupalCreateUser(array('administer permissions', 'access user profiles', 'administer site configuration', 'administer modules', 'administer user settings')); // Find the new role ID. $all_rids = $this->admin_user->roles; diff --git a/core/modules/user/lib/Drupal/user/Tests/UserPictureTest.php b/core/modules/user/lib/Drupal/user/Tests/UserPictureTest.php index ddfae72..a1f8e4c 100644 --- a/core/modules/user/lib/Drupal/user/Tests/UserPictureTest.php +++ b/core/modules/user/lib/Drupal/user/Tests/UserPictureTest.php @@ -311,7 +311,7 @@ function saveUserPicture($image) { * Tests the admin form validates user picture settings. */ function testUserPictureAdminFormValidation() { - $this->drupalLogin($this->drupalCreateUser(array('administer users'))); + $this->drupalLogin($this->drupalCreateUser(array('administer user settings'))); // The default values are valid. $this->drupalPost('admin/config/people/accounts', array(), t('Save configuration')); diff --git a/core/modules/user/user.module b/core/modules/user/user.module index fae45ad..5c782f6 100644 --- a/core/modules/user/user.module +++ b/core/modules/user/user.module @@ -164,7 +164,7 @@ function user_entity_info() { 'label' => t('User'), 'admin' => array( 'path' => 'admin/config/people/accounts', - 'access arguments' => array('administer users'), + 'access arguments' => array('administer user settings'), ), ), ), @@ -567,6 +567,10 @@ function user_permission() { 'title' => t('Administer users'), 'restrict access' => TRUE, ), + 'administer user settings' => array( + 'title' => t('Administer user settings'), + 'restrict access' => TRUE, + ), 'access user profiles' => array( 'title' => t('View user profiles'), ), @@ -1292,7 +1296,7 @@ function user_menu() { 'position' => 'left', 'weight' => -20, 'page callback' => 'system_admin_menu_block_page', - 'access arguments' => array('access administration pages'), + 'access arguments' => array('administer user settings'), 'file' => 'system.admin.inc', 'file path' => drupal_get_path('module', 'system'), ); @@ -1301,7 +1305,7 @@ function user_menu() { 'description' => 'Configure default behavior of users, including registration requirements, e-mails, fields, and user pictures.', 'page callback' => 'drupal_get_form', 'page arguments' => array('user_admin_settings'), - 'access arguments' => array('administer users'), + 'access arguments' => array('administer user settings'), 'file' => 'user.admin.inc', 'weight' => -10, ); -- 1.7.9.5