From 8780bb738822f048905393bd856648b805c4aff8 Mon Sep 17 00:00:00 2001 From: Jimmy Berry Date: Wed, 23 Nov 2011 17:21:36 -0600 Subject: Patch 366950: "Administer Users" permission should be separate from "User Settings". --- core/modules/contact/contact.test | 4 ++-- core/modules/user/user.module | 6 +++++- core/modules/user/user.test | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/core/modules/contact/contact.test b/core/modules/contact/contact.test index 129eb30..96382f4 100644 --- a/core/modules/contact/contact.test +++ b/core/modules/contact/contact.test @@ -23,7 +23,7 @@ class ContactSitewideTestCase extends DrupalWebTestCase { */ 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; @@ -297,7 +297,7 @@ class ContactPersonalTestCase extends DrupalWebTestCase { parent::setUp('contact'); // 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 user settings')); // Create some normal users with their contact forms enabled by default. variable_set('contact_default_status', TRUE); diff --git a/core/modules/user/user.module b/core/modules/user/user.module index 703459d..d4c26bb 100644 --- a/core/modules/user/user.module +++ b/core/modules/user/user.module @@ -798,6 +798,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'), ), @@ -1763,7 +1767,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, ); diff --git a/core/modules/user/user.test b/core/modules/user/user.test index 15c427b..11a448d 100644 --- a/core/modules/user/user.test +++ b/core/modules/user/user.test @@ -1106,7 +1106,7 @@ class UserPermissionsTestCase extends DrupalWebTestCase { 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 users', 'administer user settings')); // Find the new role ID - it must be the maximum. $all_rids = array_keys($this->admin_user->roles); -- 1.7.7