diff --git a/core/modules/user/lib/Drupal/user/RoleStorageController.php b/core/modules/user/lib/Drupal/user/RoleStorageController.php index 9e139ff..225bcf9 100644 --- a/core/modules/user/lib/Drupal/user/RoleStorageController.php +++ b/core/modules/user/lib/Drupal/user/RoleStorageController.php @@ -63,7 +63,7 @@ protected function postDelete($entities) { */ protected function attachLoad(&$queried_entities, $revision_id = FALSE) { // Sort the queried roles by their weight. - uasort($queried_entities, 'drupal_sort_weight'); + uasort($queried_entities, 'Drupal\Core\Config\Entity\ConfigEntityBase::sort'); parent::attachLoad($queried_entities, $revision_id); } diff --git a/core/modules/user/user.admin.inc b/core/modules/user/user.admin.inc index b6aa84e..2675bd5 100644 --- a/core/modules/user/user.admin.inc +++ b/core/modules/user/user.admin.inc @@ -5,6 +5,8 @@ * Admin page callback file for the user module. */ +use Drupal\user\Plugin\Core\Entity\Role; + function user_admin($callback_arg = '') { $op = isset($_POST['op']) ? $_POST['op'] : $callback_arg; @@ -194,7 +196,6 @@ function user_admin_account() { $destination = drupal_get_destination(); $status = array(t('blocked'), t('active')); $roles = array_map('check_plain', user_role_names(TRUE)); - $accounts = array(); foreach ($result as $account) { $account = user_load($account->uid); $users_roles = array(); @@ -816,12 +817,7 @@ function theme_user_permission_description($variables) { * @see theme_user_admin_roles() */ function user_admin_roles($form, $form_state) { - $roles = db_select('role', 'r') - ->addTag('translatable') - ->fields('r') - ->orderBy('weight') - ->orderBy('name') - ->execute(); + $roles = entity_load_multiple('user_role'); $form['roles'] = array( '#tree' => TRUE, @@ -888,8 +884,10 @@ function user_admin_roles($form, $form_state) { function user_admin_roles_order_submit($form, &$form_state) { foreach ($form_state['values']['roles'] as $rid => $role_values) { $role = $form['roles'][$rid]['#role']; - $role->weight = $role_values['weight']; - user_role_save($role); + if ($role->weight != $role_values['weight']) { + $role->weight = $role_values['weight']; + $role->save(); + } } drupal_set_message(t('The role settings have been updated.')); } @@ -941,8 +939,9 @@ function theme_user_admin_roles($variables) { /** * Form to configure a single role. * - * @ingroup forms * @see user_admin_role_submit() + * + * @ingroup forms */ function user_admin_role($form, $form_state, $role) { $form['role'] = array( @@ -991,12 +990,11 @@ function user_admin_role($form, $form_state, $role) { } /** - * Form submit handler for the user_admin_role() form. + * Form submission handler for the user_admin_role() form. */ function user_admin_role_submit($form, &$form_state) { - $role = (object) $form_state['values']['role']; - $status = user_role_save($role); - if ($status === SAVED_UPDATED) { + $role = entity_create('user_role', $form_state['values']['role']); + if ($role->save() === SAVED_UPDATED) { drupal_set_message(t('The role has been renamed.')); } else { @@ -1013,9 +1011,17 @@ function user_admin_role_delete_submit($form, &$form_state) { } /** - * Form to confirm role delete operation. + * Page callback: Form constructor for the role deletion form. + * + * @param Drupal\user\Plugin\Core\Entity\Role $role + * + * @see user_menu() + * @see user_admin_role_delete_confirm_submit() + * + * @ingroup forms */ -function user_admin_role_delete_confirm($form, &$form_state, $role) { +function user_admin_role_delete_confirm($form, &$form_state, Role $role) { + $form_state['user_role'] = $role; $form['rid'] = array( '#type' => 'value', '#value' => $role->rid, @@ -1024,10 +1030,11 @@ function user_admin_role_delete_confirm($form, &$form_state, $role) { } /** - * Form submit handler for user_admin_role_delete_confirm(). + * Form submission handler for user_admin_role_delete_confirm(). */ function user_admin_role_delete_confirm_submit($form, &$form_state) { - user_role_delete($form_state['values']['rid']); + $role = $form_state['user_role']; + $role->delete(); drupal_set_message(t('The role has been deleted.')); $form_state['redirect'] = 'admin/people/roles'; } diff --git a/core/modules/user/user.install b/core/modules/user/user.install index 040b28d..84e1e9f 100644 --- a/core/modules/user/user.install +++ b/core/modules/user/user.install @@ -890,7 +890,7 @@ function user_update_8016() { /** * Turn the {role} table into configuration entities. */ -function user_update_8010() { +function user_update_8017() { $roles = db_select('role', 'r') ->fields('r') ->execute()