$_REQUEST['role']['Name'])); if ($role_with_my_name and (($rid and ($role_with_my_name->Id() != $rid)) or !$rid) ) { $error_message = 'There already exists a role with this Name
'; unset($_REQUEST['redirect']); return; } } else { $error_message = 'Role name is required
'; unset($_REQUEST['redirect']); return; } $changes = $dbRole->changes($_REQUEST['role']); if (count($changes)) { if (!$dbRole->save($changes)) { $error_message .= $dbRole->get_last_error().'
'; unset($_REQUEST['redirect']); return; } } # Save group permissions if (isset($_POST['group_permission'])) { foreach (ZM\Group::find() as $g) { $permission = $dbRole->Group_Permission($g->Id()); $new_permission = isset($_POST['group_permission'][$g->Id()]) ? $_POST['group_permission'][$g->Id()] : 'Inherit'; if ($permission->Permission() != $new_permission) { $permission->RoleId($dbRole->Id()); $permission->save(array('Permission'=>$new_permission)); } } } # Save monitor permissions if (isset($_POST['monitor_permission'])) { foreach (ZM\Monitor::find(['Deleted'=>false]) as $m) { if (isset($_POST['monitor_permission'][$m->Id()])) { $permission = $dbRole->Monitor_Permission($m->Id()); $new_permission = $_POST['monitor_permission'][$m->Id()]; if ($permission->Permission() != $new_permission) { $permission->RoleId($dbRole->Id()); $permission->save(['Permission'=>$new_permission]); } } } } } // end if $action == Save ?>