<?php
/**
 * modules/turnero/_acceso.php
 * Restricción por rol dentro del módulo Turnero.
 *
 * El control de acceso del ERP es por módulo: quien tiene `turnero` puede abrir
 * cualquiera de sus vistas escribiendo la URL, aunque el menú no se la muestre.
 * Para las pantallas que operan sobre la atención o cambian configuración eso no
 * alcanza, así que exigen además un rol.
 *
 * Uso, al inicio de la vista:
 *     require_once __DIR__ . '/../_acceso.php';
 *     turneroExigirRol(['admin', 'superadmin', 'supervisor']);
 */

if (!function_exists('turneroExigirRol')) {
    /**
     * Corta la ejecución si el rol de la sesión no está entre los permitidos.
     * Los administradores pasan siempre.
     */
    function turneroExigirRol(array $permitidos): void
    {
        $rol = $_SESSION['admin_user']['role'] ?? '';
        if (in_array($rol, ['admin', 'superadmin'], true)) return;
        if (in_array($rol, $permitidos, true)) return;

        // Devolver a una pantalla que sí pueda ver, en vez de un error seco
        $destino = defined('BASE_URL') ? BASE_URL : '/';
        header('Location: ' . $destino . 'erp.php?m=turnero&v=dashboard&sin_acceso=1');
        exit;
    }
}
