diff --git a/administerusersbyrole.module b/administerusersbyrole.module index 17b2cd0..442eae5 100644 --- a/administerusersbyrole.module +++ b/administerusersbyrole.module @@ -85,6 +85,8 @@ function _administerusersbyrole_can_edit_user($account) { } function _administerusersbyrole_can_cancel_user($account) { + global $user; + if ($account->uid == 1) { return FALSE; } @@ -95,6 +97,10 @@ function _administerusersbyrole_can_cancel_user($account) { $account = user_load($account->uid); } + // If user can Cancel own user account. + if ($user->uid == $account->uid && user_access('cancel account')) { + return TRUE; + } if ($account->roles === array(DRUPAL_AUTHENTICATED_RID => 'authenticated user')) { if (!user_access('cancel users with no custom roles')) { return FALSE;