Commit 2a123f0a authored by Dries's avatar Dries

- Patch #549432 by Bohjan, Gábor Hojtsy: create 'people and permissions'...

- Patch #549432 by Bohjan, Gábor Hojtsy: create 'people and permissions' section in 'configuration and modules'.
parent fd4020db
......@@ -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'). '.'));
}
......
......@@ -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.'));
}
}
......
......@@ -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',
......
......@@ -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;
......
......@@ -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;
}
......
......@@ -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;
}
......
......@@ -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'])));
}
}
......
......@@ -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'));
......
......@@ -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>';
......
......@@ -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.
......
......@@ -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>';
......
......@@ -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>';
}
}
......
......@@ -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);
......
......@@ -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 = {
......
......@@ -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>';
......
......@@ -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.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment