summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorDries Buytaert <dries@buytaert.net>2009-08-21 14:27:47 +0000
committerDries Buytaert <dries@buytaert.net>2009-08-21 14:27:47 +0000
commit2a123f0ac94cad2771b19ca81b9637f83cb06869 (patch)
treed66931957602be79d49802515f408c651f8699b6 /modules
parentfd4020db897e8638d32db5119d25bd3a60febb89 (diff)
downloadbrdo-2a123f0ac94cad2771b19ca81b9637f83cb06869.tar.gz
brdo-2a123f0ac94cad2771b19ca81b9637f83cb06869.tar.bz2
- Patch #549432 by Bohjan, Gábor Hojtsy: create 'people and permissions' section in 'configuration and modules'.
Diffstat (limited to 'modules')
-rw-r--r--modules/comment/comment.test2
-rw-r--r--modules/contact/contact.test2
-rw-r--r--modules/menu/menu.test2
-rw-r--r--modules/node/node.module2
-rw-r--r--modules/profile/profile.admin.inc20
-rw-r--r--modules/profile/profile.module14
-rw-r--r--modules/profile/profile.test6
-rw-r--r--modules/search/search.test2
-rw-r--r--modules/statistics/statistics.module2
-rw-r--r--modules/system/system.module6
-rw-r--r--modules/translation/translation.module2
-rw-r--r--modules/upload/upload.module2
-rw-r--r--modules/user/user.admin.inc10
-rw-r--r--modules/user/user.js2
-rw-r--r--modules/user/user.module55
-rw-r--r--modules/user/user.test10
16 files changed, 76 insertions, 63 deletions
diff --git a/modules/comment/comment.test b/modules/comment/comment.test
index 039dbfe6f..3ba6b6717 100644
--- a/modules/comment/comment.test
+++ b/modules/comment/comment.test
@@ -176,7 +176,7 @@ class CommentHelperCase extends DrupalWebTestCase {
$edit['1[access comments]'] = $access_comments;
$edit['1[post comments]'] = $post_comments;
$edit['1[post comments without approval]'] = $without_approval;
- $this->drupalPost('admin/settings/permissions', $edit, t('Save permissions'));
+ $this->drupalPost('admin/config/people/permissions', $edit, t('Save permissions'));
$this->assertText(t('The changes have been saved.'), t('Anonymous user comments ' . ($access_comments ? 'access comments' : 'not access comments'). '.'));
}
diff --git a/modules/contact/contact.test b/modules/contact/contact.test
index 96311d1d7..51d20d967 100644
--- a/modules/contact/contact.test
+++ b/modules/contact/contact.test
@@ -289,7 +289,7 @@ class ContactSitewideTestCase extends DrupalWebTestCase {
$edit[$rid . '[' . $name . ']'] = $value;
}
- $this->drupalPost('admin/settings/permissions', $edit, t('Save permissions'));
+ $this->drupalPost('admin/config/people/permissions', $edit, t('Save permissions'));
$this->assertText(t('The changes have been saved.'), t(' [permission] Saved changes.'));
}
}
diff --git a/modules/menu/menu.test b/modules/menu/menu.test
index 6161843a0..c908a3cfa 100644
--- a/modules/menu/menu.test
+++ b/modules/menu/menu.test
@@ -249,7 +249,7 @@ class MenuTestCase extends DrupalWebTestCase {
* @param string $menu_name Menu name.
*/
function addInvalidMenuLink($menu_name = 'navigation') {
- foreach (array('-&-', 'admin/settings/permissions') as $link_path) {
+ foreach (array('-&-', 'admin/config/people/permissions') as $link_path) {
$edit = array(
'menu[link_path]' => $link_path,
'menu[link_title]' => 'title',
diff --git a/modules/node/node.module b/modules/node/node.module
index 18711dbdd..64a324bac 100644
--- a/modules/node/node.module
+++ b/modules/node/node.module
@@ -52,7 +52,7 @@ function node_help($path, $arg) {
case 'admin/help#node':
$output = '<p>' . t('The node module manages content on your site, and stores all posts (regardless of type) as a "node" . In addition to basic publishing settings, including whether the post has been published, promoted to the site front page, or should remain present (or sticky) at the top of lists, the node module also records basic information about the author of a post. Optional revision control over edits is available. For additional functionality, the node module is often extended by other modules.') . '</p>';
$output .= '<p>' . t('Though each post on your site is a node, each post is also of a particular <a href="@content-type">content type</a>. <a href="@content-type">Content types</a> are used to define the characteristics of a post, including the title and description of the fields displayed on its add and edit pages. Each content type may have different default settings for <em>Publishing options</em> and other workflow controls. By default, the two content types in a standard Drupal installation are <em>Page</em> and <em>Story</em>. Use the <a href="@content-type">content types page</a> to add new or edit existing content types. Additional content types also become available as you enable additional core, contributed and custom modules.', array('@content-type' => url('admin/structure/types'))) . '</p>';
- $output .= '<p>' . t('The administrative <a href="@content">content page</a> allows you to review and manage your site content. The node module makes a number of permissions available for each content type, which may be set by role on the <a href="@permissions">permissions page</a>.', array('@content' => url('admin/content'), '@permissions' => url('admin/settings/permissions'))) . '</p>';
+ $output .= '<p>' . t('The administrative <a href="@content">content page</a> allows you to review and manage your site content. The node module makes a number of permissions available for each content type, which may be set by role on the <a href="@permissions">permissions page</a>.', array('@content' => url('admin/content'), '@permissions' => url('admin/config/people/permissions'))) . '</p>';
$output .= '<p>' . t('For more information, see the online handbook entry for <a href="@node">Node module</a>.', array('@node' => 'http://drupal.org/handbook/modules/node/')) . '</p>';
return $output;
diff --git a/modules/profile/profile.admin.inc b/modules/profile/profile.admin.inc
index 394f42cb1..5171086e9 100644
--- a/modules/profile/profile.admin.inc
+++ b/modules/profile/profile.admin.inc
@@ -27,8 +27,8 @@ function profile_admin_overview() {
$form[$field->fid]['type'] = array('#markup' => $field->type);
$form[$field->fid]['category'] = array('#type' => 'select', '#default_value' => $field->category, '#options' => array());
$form[$field->fid]['weight'] = array('#type' => 'weight', '#default_value' => $field->weight);
- $form[$field->fid]['edit'] = array('#markup' => l(t('edit'), "admin/settings/profile/edit/$field->fid"));
- $form[$field->fid]['delete'] = array('#markup' => l(t('delete'), "admin/settings/profile/delete/$field->fid"));
+ $form[$field->fid]['edit'] = array('#markup' => l(t('edit'), "admin/config/people/profile/edit/$field->fid"));
+ $form[$field->fid]['delete'] = array('#markup' => l(t('delete'), "admin/config/people/profile/delete/$field->fid"));
}
// Add the category combo boxes
@@ -55,7 +55,7 @@ function profile_admin_overview() {
$addnewfields = '<h2>' . t('Add new field') . '</h2>';
$addnewfields .= '<ul>';
foreach (_profile_field_types() as $key => $value) {
- $addnewfields .= '<li>' . l($value, "admin/settings/profile/add/$key") . '</li>';
+ $addnewfields .= '<li>' . l($value, "admin/config/people/profile/add/$key") . '</li>';
}
$addnewfields .= '</ul>';
$form['addnewfields'] = array('#markup' => $addnewfields);
@@ -219,7 +219,7 @@ function profile_field_form(&$form_state, $arg = NULL) {
$form['fields']['category'] = array('#type' => 'textfield',
'#title' => t('Category'),
'#default_value' => $edit['category'],
- '#autocomplete_path' => 'admin/settings/profile/autocomplete',
+ '#autocomplete_path' => 'admin/config/people/profile/autocomplete',
'#description' => t('The category the new field should be part of. Categories are used to group fields logically. An example category is "Personal information".'),
'#required' => TRUE,
);
@@ -361,7 +361,7 @@ function profile_field_form_submit($form, &$form_state) {
->fields($values)
->execute();
drupal_set_message(t('The field has been created.'));
- watchdog('profile', 'Profile field %field added under category %category.', array('%field' => $form_state['values']['title'], '%category' => $form_state['values']['category']), WATCHDOG_NOTICE, l(t('view'), 'admin/settings/profile'));
+ watchdog('profile', 'Profile field %field added under category %category.', array('%field' => $form_state['values']['title'], '%category' => $form_state['values']['category']), WATCHDOG_NOTICE, l(t('view'), 'admin/config/people/profile'));
}
else {
db_update('profile_field')
@@ -373,7 +373,7 @@ function profile_field_form_submit($form, &$form_state) {
cache_clear_all();
menu_rebuild();
- $form_state['redirect'] = 'admin/settings/profile';
+ $form_state['redirect'] = 'admin/config/people/profile';
return;
}
@@ -390,8 +390,8 @@ function profile_field_delete(&$form_state, $fid) {
$form['title'] = array('#type' => 'value', '#value' => $field->title);
return confirm_form($form,
- t('Are you sure you want to delete the field %field?', array('%field' => $field->title)), 'admin/settings/profile',
- t('This action cannot be undone. If users have entered values into this field in their profile, these entries will also be deleted. If you want to keep the user-entered data, instead of deleting the field you may wish to <a href="@edit-field">edit this field</a> and change it to a hidden profile field so that it may only be accessed by administrators.', array('@edit-field' => url('admin/settings/profile/edit/' . $fid))),
+ t('Are you sure you want to delete the field %field?', array('%field' => $field->title)), 'admin/config/people/profile',
+ t('This action cannot be undone. If users have entered values into this field in their profile, these entries will also be deleted. If you want to keep the user-entered data, instead of deleting the field you may wish to <a href="@edit-field">edit this field</a> and change it to a hidden profile field so that it may only be accessed by administrators.', array('@edit-field' => url('admin/config/people/profile/edit/' . $fid))),
t('Delete'), t('Cancel'));
}
@@ -409,9 +409,9 @@ function profile_field_delete_submit($form, &$form_state) {
cache_clear_all();
drupal_set_message(t('The field %field has been deleted.', array('%field' => $form_state['values']['title'])));
- watchdog('profile', 'Profile field %field deleted.', array('%field' => $form_state['values']['title']), WATCHDOG_NOTICE, l(t('view'), 'admin/settings/profile'));
+ watchdog('profile', 'Profile field %field deleted.', array('%field' => $form_state['values']['title']), WATCHDOG_NOTICE, l(t('view'), 'admin/config/people/profile'));
- $form_state['redirect'] = 'admin/settings/profile';
+ $form_state['redirect'] = 'admin/config/people/profile';
return;
}
diff --git a/modules/profile/profile.module b/modules/profile/profile.module
index 55ff0ac35..7fbd0952a 100644
--- a/modules/profile/profile.module
+++ b/modules/profile/profile.module
@@ -43,7 +43,7 @@ function profile_help($path, $arg) {
$output .= '<li>' . t('date') . '</li></ul>';
$output .= '<p>' . t('For more information, see the online handbook entry for <a href="@profile">Profile module</a>.', array('@profile' => 'http://drupal.org/handbook/modules/profile/')) . '</p>';
return $output;
- case 'admin/settings/profile':
+ case 'admin/config/people/profile':
return '<p>' . t("This page displays a list of the existing custom profile fields to be displayed on a user's <em>My Account</em> page. To provide structure, similar or related fields may be placed inside a category. To add a new category (or edit an existing one), edit a profile field and provide a new category name. Remember that your changes will not be saved until you click the <em>Save configuration</em> button at the bottom of the page.") . '</p>';
}
}
@@ -82,34 +82,34 @@ function profile_menu() {
'access arguments' => array('access user profiles'),
'type' => MENU_SUGGESTED_ITEM,
);
- $items['admin/settings/profile'] = array(
+ $items['admin/config/people/profile'] = array(
'title' => 'Profiles',
'description' => 'Create customizable fields for your users.',
'page callback' => 'drupal_get_form',
'page arguments' => array('profile_admin_overview'),
'access arguments' => array('administer users'),
);
- $items['admin/settings/profile/add'] = array(
+ $items['admin/config/people/profile/add'] = array(
'title' => 'Add field',
'page callback' => 'drupal_get_form',
'page arguments' => array('profile_field_form'),
'access arguments' => array('administer users'),
'type' => MENU_CALLBACK,
);
- $items['admin/settings/profile/autocomplete'] = array(
+ $items['admin/config/people/profile/autocomplete'] = array(
'title' => 'Profile category autocomplete',
'page callback' => 'profile_admin_settings_autocomplete',
'access arguments' => array('administer users'),
'type' => MENU_CALLBACK,
);
- $items['admin/settings/profile/edit'] = array(
+ $items['admin/config/people/profile/edit'] = array(
'title' => 'Edit field',
'page callback' => 'drupal_get_form',
'page arguments' => array('profile_field_form'),
'access arguments' => array('administer users'),
'type' => MENU_CALLBACK,
);
- $items['admin/settings/profile/delete'] = array(
+ $items['admin/config/people/profile/delete'] = array(
'title' => 'Delete field',
'page callback' => 'drupal_get_form',
'page arguments' => array('profile_field_delete'),
@@ -150,7 +150,7 @@ function profile_block_configure($delta = '') {
'#title' => t('Profile fields to display'),
'#default_value' => variable_get('profile_block_author_fields', array()),
'#options' => $fields,
- '#description' => t('Select which profile fields you wish to display in the block. Only fields designated as public in the <a href="@profile-admin">profile field configuration</a> are available.', array('@profile-admin' => url('admin/settings/profile'))),
+ '#description' => t('Select which profile fields you wish to display in the block. Only fields designated as public in the <a href="@profile-admin">profile field configuration</a> are available.', array('@profile-admin' => url('admin/config/people/profile'))),
);
return $form;
}
diff --git a/modules/profile/profile.test b/modules/profile/profile.test
index aaa2f8a9b..92b9ee428 100644
--- a/modules/profile/profile.test
+++ b/modules/profile/profile.test
@@ -36,7 +36,7 @@ class ProfileTestCase extends DrupalWebTestCase {
$edit['category'] = $category;
$edit['explanation'] = $this->randomName(50);
- $this->drupalPost('admin/settings/profile/add/' . $type, $edit, t('Save field'));
+ $this->drupalPost('admin/config/people/profile/add/' . $type, $edit, t('Save field'));
$fid = db_query("SELECT fid FROM {profile_field} WHERE title = :title", array(':title' => $title))->fetchField();
$this->assertTrue($fid, t('New Profile field has been entered in the database'));
@@ -107,8 +107,8 @@ class ProfileTestCase extends DrupalWebTestCase {
* The field to be deleted.
*/
function deleteProfileField($field) {
- $this->drupalPost('admin/settings/profile/delete/' . $field['fid'], array(), t('Delete'));
- $this->drupalGet('admin/settings/profile');
+ $this->drupalPost('admin/config/people/profile/delete/' . $field['fid'], array(), t('Delete'));
+ $this->drupalGet('admin/config/people/profile');
$this->assertNoText($field['title'], t('Checking deleted field %title', array('%title' => $field['title'])));
}
}
diff --git a/modules/search/search.test b/modules/search/search.test
index 0e0b45d74..dc15afa0c 100644
--- a/modules/search/search.test
+++ b/modules/search/search.test
@@ -475,7 +475,7 @@ class SearchCommentTestCase extends DrupalWebTestCase {
// seems to be added via node links.
DRUPAL_ANONYMOUS_RID . '[post comments]' => 1,
);
- $this->drupalPost('admin/settings/permissions', $edit, t('Save permissions'));
+ $this->drupalPost('admin/config/people/permissions', $edit, t('Save permissions'));
// Create a node.
$node = $this->drupalCreateNode(array('type' => 'article'));
diff --git a/modules/statistics/statistics.module b/modules/statistics/statistics.module
index 6f228b845..0463c0158 100644
--- a/modules/statistics/statistics.module
+++ b/modules/statistics/statistics.module
@@ -14,7 +14,7 @@ function statistics_help($path, $arg) {
case 'admin/help#statistics':
$output = '<p>' . t('The statistics module keeps track of numerous site usage statistics, including the number of times, and from where, each of your posts is viewed. These statistics are useful in determining how users are interacting with each other and with your site, and are required for the display of some Drupal blocks.') . '</p>';
$output .= '<p>' . t('The statistics module provides:') . '</p>';
- $output .= '<ul><li>' . t('a counter for each post on your site that increments each time the post is viewed. (Enable <em>Count content views</em> on the <a href="@statistics-settings">statistics settings page</a>, and determine if the post access counters should be visible to any user roles on the <a href="@permissions">permissions page</a>.)', array('@statistics-settings' => url('admin/settings/statistics'), '@permissions' => url('admin/settings/permissions'))) . '</li>';
+ $output .= '<ul><li>' . t('a counter for each post on your site that increments each time the post is viewed. (Enable <em>Count content views</em> on the <a href="@statistics-settings">statistics settings page</a>, and determine if the post access counters should be visible to any user roles on the <a href="@permissions">permissions page</a>.)', array('@statistics-settings' => url('admin/settings/statistics'), '@permissions' => url('admin/config/people/permissions'))) . '</li>';
$output .= '<li>' . t('a <a href="@recent-hits">recent hits</a> log that displays information about the latest activity on your site, including the URL and title of the page accessed, the user name (if available) and IP address of the accessing party.', array('@recent-hits' => url('admin/reports/hits'))) . '</li>';
$output .= '<li>' . t('a <a href="@top-referrers">top referrers</a> log that displays the referring parties for your site visits (where your visitors came from).', array('@top-referrers' => url('admin/reports/referrers'))) . '</li>';
$output .= '<li>' . t('a <a href="@top-pages">top pages</a> log that displays site content in descending order by number of views.', array('@top-pages' => url('admin/reports/pages'))) . '</li>';
diff --git a/modules/system/system.module b/modules/system/system.module
index d3c48da1e..845e7b496 100644
--- a/modules/system/system.module
+++ b/modules/system/system.module
@@ -112,8 +112,8 @@ function system_help($path, $arg) {
case 'admin/appearance/settings':
return '<p>' . t('These options control the default display settings for your entire site, across all themes. Unless they have been overridden by a specific theme, these settings will be used.') . '</p>';
case 'admin/config/modules':
- $output = '<p>' . t('Modules are plugins that extend Drupal\'s core functionality. To further extend your site\'s functionality, a number of <a href="@modules">contributed modules</a> are available for download.', array('@permissions' => url('admin/settings/permissions'), '@modules' => 'http://drupal.org/project/modules')) . '</p>';
- $output .= '<p>' . t('Module-related tasks can be located on the <a href="@by-module">administration by module page</a>. New <a href="@permissions">module-related permissions</a> may also become available as new modules are enabled.', array('@by-module' => url('admin/by-module'), '@permissions' => url('admin/settings/permissions'))) . '</p>';
+ $output = '<p>' . t('Modules are plugins that extend Drupal\'s core functionality. To further extend your site\'s functionality, a number of <a href="@modules">contributed modules</a> are available for download.', array('@permissions' => url('admin/config/people/permissions'), '@modules' => 'http://drupal.org/project/modules')) . '</p>';
+ $output .= '<p>' . t('Module-related tasks can be located on the <a href="@by-module">administration by module page</a>. New <a href="@permissions">module-related permissions</a> may also become available as new modules are enabled.', array('@by-module' => url('admin/by-module'), '@permissions' => url('admin/config/people/permissions'))) . '</p>';
$output .= '<p>' . t('Each time a module is updated, it is important that <a href="@update-php">update.php</a> is run. To help manage the update process, the <em>Update status</em> module, if enabled, provides <a href="@updates">information on new versions of modules (and themes)</a> as they are released. Regular review of the <a href="@updates">available updates page</a> is essential to maintaining a secure and current site.', array('@update-php' => $base_url . '/update.php', '@updates' => url('admin/reports/updates'))) . '</p>';
return $output;
case 'admin/config/modules/uninstall':
@@ -2244,7 +2244,7 @@ function system_get_module_admin_tasks($module) {
$admin_task_count = 0;
// Check for permissions.
if (in_array($module, module_implements('permission')) && $admin_access) {
- $admin_tasks[-1] = l(t('Configure permissions'), 'admin/settings/permissions', array('fragment' => 'module-' . $module));
+ $admin_tasks[-1] = l(t('Configure permissions'), 'admin/config/people/permissions', array('fragment' => 'module-' . $module));
}
// Check for menu items that are admin links.
diff --git a/modules/translation/translation.module b/modules/translation/translation.module
index 4dc25c3f1..270d9d543 100644
--- a/modules/translation/translation.module
+++ b/modules/translation/translation.module
@@ -33,7 +33,7 @@ function translation_help($path, $arg) {
case 'admin/help#translation':
$output = '<p>' . t('The content translation module allows content to be translated into different languages. Working with the <a href="@locale">locale module</a> (which manages enabled languages and provides translation for the site interface), the content translation module is key to creating and maintaining translated site content.', array('@locale' => url('admin/help/locale'))) . '</p>';
$output .= '<p>' . t('Configuring content translation and translation-enabled content types:') . '</p>';
- $output .= '<ul><li>' . t('Assign the <em>translate content</em> permission to the appropriate user roles at the <a href="@permissions">Permissions configuration page</a>.', array('@permissions' => url('admin/settings/permissions'))) . '</li>';
+ $output .= '<ul><li>' . t('Assign the <em>translate content</em> permission to the appropriate user roles at the <a href="@permissions">Permissions configuration page</a>.', array('@permissions' => url('admin/config/people/permissions'))) . '</li>';
$output .= '<li>' . t('Add and enable desired languages at the <a href="@languages">Languages configuration page</a>.', array('@languages' => url('admin/settings/language'))) . '</li>';
$output .= '<li>' . t('Determine which <a href="@content-types">content types</a> should support translation features. To enable translation support for a content type, edit the type and at the <em>Multilingual support</em> drop down, select <em>Enabled, with translation</em>. (<em>Multilingual support</em> is located within <em>Publishing options</em>.) Be sure to save each content type after enabling multilingual support.', array('@content-types' => url('admin/structure/types'))) . '</li></ul>';
$output .= '<p>' . t('Working with translation-enabled content types:') . '</p>';
diff --git a/modules/upload/upload.module b/modules/upload/upload.module
index e9fd856d5..d202291dd 100644
--- a/modules/upload/upload.module
+++ b/modules/upload/upload.module
@@ -18,7 +18,7 @@ function upload_help($path, $arg) {
$output .= '<p>' . t('For more information, see the online handbook entry for <a href="@upload">Upload module</a>.', array('@upload' => 'http://drupal.org/handbook/modules/upload/')) . '</p>';
return $output;
case 'admin/settings/upload':
- return '<p>' . t('Users with the <a href="@permissions">upload files permission</a> can upload attachments. Users with the <a href="@permissions">view uploaded files permission</a> can view uploaded attachments. You can choose which post types can take attachments on the <a href="@types">content types settings</a> page.', array('@permissions' => url('admin/settings/permissions'), '@types' => url('admin/settings/types'))) . '</p>';
+ return '<p>' . t('Users with the <a href="@permissions">upload files permission</a> can upload attachments. Users with the <a href="@permissions">view uploaded files permission</a> can view uploaded attachments. You can choose which post types can take attachments on the <a href="@types">content types settings</a> page.', array('@permissions' => url('admin/config/people/permissions'), '@types' => url('admin/settings/types'))) . '</p>';
}
}
diff --git a/modules/user/user.admin.inc b/modules/user/user.admin.inc
index 8f6dd919f..e1fcaba94 100644
--- a/modules/user/user.admin.inc
+++ b/modules/user/user.admin.inc
@@ -297,7 +297,7 @@ function user_admin_settings() {
$form['registration_cancellation']['user_cancel_method'] = array(
'#type' => 'item',
'#title' => t('When cancelling a user account'),
- '#description' => t('Users with the %select-cancel-method or %administer-users <a href="@permissions-url">permissions</a> can override this default method.', array('%select-cancel-method' => t('Select method for cancelling account'), '%administer-users' => t('Administer users'), '@permissions-url' => url('admin/settings/permissions'))),
+ '#description' => t('Users with the %select-cancel-method or %administer-users <a href="@permissions-url">permissions</a> can override this default method.', array('%select-cancel-method' => t('Select method for cancelling account'), '%administer-users' => t('Administer users'), '@permissions-url' => url('admin/config/people/permissions'))),
);
$form['registration_cancellation']['user_cancel_method'] += user_cancel_methods();
foreach (element_children($form['registration_cancellation']['user_cancel_method']) as $element) {
@@ -731,7 +731,7 @@ function user_admin_role() {
$rid = arg(4);
if ($rid) {
if ($rid == DRUPAL_ANONYMOUS_RID || $rid == DRUPAL_AUTHENTICATED_RID) {
- drupal_goto('admin/settings/roles');
+ drupal_goto('admin/config/people/roles');
}
// Display the edit role form.
$role = db_query('SELECT * FROM {role} WHERE rid = :rid', array(':rid' => $rid))->fetchObject();
@@ -820,7 +820,7 @@ function user_admin_role_submit($form, &$form_state) {
->execute();
drupal_set_message(t('The role has been added.'));
}
- $form_state['redirect'] = 'admin/settings/roles';
+ $form_state['redirect'] = 'admin/config/people/roles';
return;
}
@@ -877,9 +877,9 @@ function theme_user_admin_account($form) {
function theme_user_admin_new_role($form) {
$header = array(t('Name'), array('data' => t('Operations'), 'colspan' => 2));
foreach (user_roles() as $rid => $name) {
- $edit_permissions = l(t('edit permissions'), 'admin/settings/permissions/' . $rid);
+ $edit_permissions = l(t('edit permissions'), 'admin/config/people/permissions/' . $rid);
if (!in_array($rid, array(DRUPAL_ANONYMOUS_RID, DRUPAL_AUTHENTICATED_RID))) {
- $rows[] = array($name, l(t('edit role'), 'admin/settings/roles/edit/' . $rid), $edit_permissions);
+ $rows[] = array($name, l(t('edit role'), 'admin/config/people/roles/edit/' . $rid), $edit_permissions);
}
else {
$rows[] = array($name, t('locked'), $edit_permissions);
diff --git a/modules/user/user.js b/modules/user/user.js
index 5d3dac093..9d75911fa 100644
--- a/modules/user/user.js
+++ b/modules/user/user.js
@@ -161,7 +161,7 @@ Drupal.evaluatePasswordStrength = function (password, translate) {
};
/**
- * Show all of the picture-related form elements at admin/settings/user
+ * Show all of the picture-related form elements at admin/config/people/accounts
* depending on whether user pictures are enabled or not.
*/
Drupal.behaviors.userSettings = {
diff --git a/modules/user/user.module b/modules/user/user.module
index a7fb466c5..0f62c996b 100644
--- a/modules/user/user.module
+++ b/modules/user/user.module
@@ -97,7 +97,7 @@ function user_fieldable_info() {
'user' => array(
'label' => t('User'),
'admin' => array(
- 'path' => 'admin/settings/user',
+ 'path' => 'admin/config/people/accounts',
'access arguments' => array('administer users'),
),
),
@@ -813,7 +813,7 @@ function user_permission() {
),
'cancel account' => array(
'title' => t('Cancel account'),
- 'description' => t('Remove or disable own user account and unpublish, anonymize, or remove own submissions depending on the configured <a href="@user-settings-url">user settings</a>.', array('@user-settings-url' => url('admin/settings/user'))),
+ 'description' => t('Remove or disable own user account and unpublish, anonymize, or remove own submissions depending on the configured <a href="@user-settings-url">user settings</a>.', array('@user-settings-url' => url('admin/config/people/accounts'))),
),
'select account cancellation method' => array(
'title' => t('Select method for cancelling own account'),
@@ -1345,7 +1345,7 @@ function user_menu() {
'menu_name' => 'user-menu',
);
- // User administration pages.
+ // User listing pages.
$items['admin/people'] = array(
'title' => 'People',
'description' => 'Find and manage people interacting with your site.',
@@ -1366,40 +1366,53 @@ function user_menu() {
'access arguments' => array('administer users'),
'type' => MENU_LOCAL_TASK,
);
- $items['admin/settings/user'] = array(
- 'title' => 'Users',
+
+ // Administration pages.
+ $items['admin/config/people'] = array(
+ 'title' => 'People and permissions',
+ 'description' => 'Configure user accounts, roles and permissions.',
+ 'position' => 'right',
+ 'page callback' => 'system_admin_menu_block_page',
+ 'access callback' => 'system_admin_menu_block_access',
+ 'access arguments' => array('admin/config/people', 'access administration pages'),
+ );
+ $items['admin/config/people/accounts'] = array(
+ 'title' => 'Account settings',
'description' => 'Configure default behavior of users, including registration requirements, e-mails, and user pictures.',
'page callback' => 'drupal_get_form',
'page arguments' => array('user_admin_settings'),
'access arguments' => array('administer users'),
+ 'weight' => -10,
);
- $items['admin/settings/user/settings'] = array(
+ $items['admin/config/people/accounts/settings'] = array(
'title' => 'Settings',
'type' => MENU_DEFAULT_LOCAL_TASK,
'weight' => -10,
);
// Permission administration pages.
- $items['admin/settings/permissions'] = array(
- 'title' => 'Permissions',
- 'description' => 'Determine access to features by selecting permissions for roles.',
- 'page callback' => 'drupal_get_form',
- 'page arguments' => array('user_admin_permissions'),
- 'access arguments' => array('administer permissions'),
- );
- $items['admin/settings/roles'] = array(
+ $items['admin/config/people/roles'] = array(
'title' => 'Roles',
'description' => 'List, edit, or add user roles.',
'page callback' => 'drupal_get_form',
'page arguments' => array('user_admin_new_role'),
'access arguments' => array('administer permissions'),
+ 'weight' => -9,
);
- $items['admin/settings/roles/edit'] = array(
+ $items['admin/config/people/roles/edit'] = array(
'title' => 'Edit role',
'page arguments' => array('user_admin_role'),
'access arguments' => array('administer permissions'),
'type' => MENU_CALLBACK,
);
+ $items['admin/config/people/permissions'] = array(
+ 'title' => 'Permissions',
+ 'description' => 'Determine access to features by selecting permissions for roles.',
+ 'page callback' => 'drupal_get_form',
+ 'page arguments' => array('user_admin_permissions'),
+ 'access arguments' => array('administer permissions'),
+ 'weight' => -8,
+ );
$items['user/%user_uid_optional'] = array(
'title' => 'My account',
@@ -2456,17 +2469,17 @@ function user_help($path, $arg) {
return $output;
case 'admin/people/create':
return '<p>' . t("This web page allows administrators to register new users. Users' e-mail addresses and usernames must be unique.") . '</p>';
- case 'admin/settings/permissions':
- return '<p>' . t('Permissions let you control what users can do and see on your site. You can define a specific set of permissions for each role. (See the <a href="@role">Roles</a> page to create a role). Two important roles to consider are Authenticated Users and Administrators. Any permissions granted to the Authenticated Users role will be given to any user who can log into your site. You can make any role the Administrator role for the site, meaning this will be granted all new permissions automatically. You can do this on the <a href="@settings">User Settings</a> page. You should be careful to ensure that only trusted users are given this access and level of control of your site.', array('@role' => url('admin/settings/roles'), '@settings' => url('admin/settings/user'))) . '</p>';
- case 'admin/settings/roles':
+ case 'admin/config/people/permissions':
+ return '<p>' . t('Permissions let you control what users can do and see on your site. You can define a specific set of permissions for each role. (See the <a href="@role">Roles</a> page to create a role). Two important roles to consider are Authenticated Users and Administrators. Any permissions granted to the Authenticated Users role will be given to any user who can log into your site. You can make any role the Administrator role for the site, meaning this will be granted all new permissions automatically. You can do this on the <a href="@settings">User Settings</a> page. You should be careful to ensure that only trusted users are given this access and level of control of your site.', array('@role' => url('admin/config/people/roles'), '@settings' => url('admin/config/people/accounts'))) . '</p>';
+ case 'admin/config/people/roles':
return t('<p>Roles allow you to fine tune the security and administration of Drupal. A role defines a group of users that have certain privileges as defined in <a href="@permissions">user permissions</a>. Examples of roles include: anonymous user, authenticated user, moderator, administrator and so on. In this area you will define the <em>role names</em> of the various roles. To delete a role choose "edit".</p><p>By default, Drupal comes with two user roles:</p>
<ul>
<li>Anonymous user: this role is used for users that don\'t have a user account or that are not authenticated.</li>
<li>Authenticated user: this role is automatically granted to all logged in users.</li>
- </ul>', array('@permissions' => url('admin/settings/permissions')));
- case 'admin/settings/user/fields':
+ </ul>', array('@permissions' => url('admin/config/people/permissions')));
+ case 'admin/config/people/accounts/fields':
return '<p>' . t('This form lets administrators add, edit, and arrange fields for storing user data.') . '</p>';
- case 'admin/settings/user/display':
+ case 'admin/config/people/accounts/display':
return '<p>' . t('This form lets administrators configure how fields should be displayed when rendering a user profile page.') . '</p>';
case 'admin/people/search':
return '<p>' . t('Enter a simple pattern ("*" may be used as a wildcard match) to search for a username or e-mail address. For example, one may search for "br" and Drupal might return "brian", "brad", and "brenda@example.com".') . '</p>';
diff --git a/modules/user/user.test b/modules/user/user.test
index 0eda8128b..153bd30a0 100644
--- a/modules/user/user.test
+++ b/modules/user/user.test
@@ -871,7 +871,7 @@ class UserPermissionsTestCase extends DrupalWebTestCase {
$this->assertFalse(user_access('administer nodes', $account, TRUE), t('User does not have "administer nodes" permission.'));
$edit = array();
$edit[$rid . '[administer nodes]'] = TRUE;
- $this->drupalPost('admin/settings/permissions', $edit, t('Save permissions'));
+ $this->drupalPost('admin/config/people/permissions', $edit, t('Save permissions'));
$this->assertText(t('The changes have been saved.'), t('Successful save message displayed.'));
$this->assertTrue(user_access('administer nodes', $account, TRUE), t('User now has "administer nodes" permission.'));
@@ -879,7 +879,7 @@ class UserPermissionsTestCase extends DrupalWebTestCase {
$this->assertTrue(user_access('access user profiles', $account, TRUE), t('User has "access user profiles" permission.'));
$edit = array();
$edit[$rid . '[access user profiles]'] = FALSE;
- $this->drupalPost('admin/settings/permissions', $edit, t('Save permissions'));
+ $this->drupalPost('admin/config/people/permissions', $edit, t('Save permissions'));
$this->assertText(t('The changes have been saved.'), t('Successful save message displayed.'));
$this->assertFalse(user_access('access user profiles', $account, TRUE), t('User no longer has "access user profiles" permission.'));
}
@@ -889,12 +889,12 @@ class UserPermissionsTestCase extends DrupalWebTestCase {
*/
function testAdministratorRole() {
$this->drupalLogin($this->admin_user);
- $this->drupalGet('admin/settings/user');
+ $this->drupalGet('admin/config/people/accounts');
// Set the user's role to be the administrator role.
$edit = array();
$edit['user_admin_role'] = $this->rid;
- $this->drupalPost('admin/settings/user', $edit, t('Save configuration'));
+ $this->drupalPost('admin/config/people/accounts', $edit, t('Save configuration'));
// Enable aggregator module and ensure the 'administer news feeds'
// permission is assigned by default.
@@ -1079,7 +1079,7 @@ class UserBlocksUnitTests extends DrupalWebTestCase {
$edit = array();
$edit['name'] = $user->name;
$edit['pass'] = $user->pass_raw;
- $this->drupalPost('admin/settings/permissions', $edit, t('Log in'));
+ $this->drupalPost('admin/config/people/permissions', $edit, t('Log in'));
$this->assertNoText(t('User login'), t('Logged in.'));
// Check that we are still on the same page.