From c0acc64bdb2f493fab87fdbad7f8e6ade17a30db Mon Sep 17 00:00:00 2001
From: Jimmy Berry <jimmy@boombatower.com>
Date: Wed, 23 Nov 2011 17:21:36 -0600
Subject: Patch 366950: "Administer Users" permission should be separate from
 "User Settings".

---
 core/modules/user/user.module |    6 +++++-
 core/modules/user/user.test   |    2 +-
 2 files changed, 6 insertions(+), 2 deletions(-)

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

