function role_delegation_form_user_admin_role_submit in Role Delegation 7
Same name and namespace in other branches
- 6 role_delegation.module \role_delegation_form_user_admin_role_submit()
Submit function for the user_admin_role form: When a role is renamed, renames the "assign role" permission for that role. We can't use hook_user_role_update() for this, because it doesn't have access to the old role name.
1 string reference to 'role_delegation_form_user_admin_role_submit'
- role_delegation_form_user_admin_role_alter in ./
role_delegation.module - Implements hook_form_FORM_ID_alter() for user_admin_role().
File
- ./
role_delegation.module, line 212 - This module allows site administrators to grant some roles the authority to change roles assigned to users, without them needing the 'administer access control' permission.
Code
function role_delegation_form_user_admin_role_submit($form, $form_state) {
$op = $form_state['values']['op'];
if ($op != t('Save role')) {
return;
}
$oldrole = $form_state['build_info']['args'][0]->name;
$newrole = $form_state['values']['name'];
if ($oldrole == $newrole) {
return;
}
db_update('role_permission')
->condition('permission', "assign {$oldrole} role")
->fields(array(
'permission' => "assign {$newrole} role",
))
->execute();
}