- login.php: detectar dispositivo por IP al autenticar y redirigir al lugar asignado - dashboard.php / lugar.php / recepcion.php: bloquear acceso por dispositivo (IP→lugar) - lugar.php: modal firma profesional pre-guardada; compact 2-col en iframe; botón WA solo cuando el formulario requiere firma del paciente - ver_formulario_enviado.php: modo compact tablet, auto-save borrador (merge), firma profesional en 1 clic, Muestras Prolongadas (countdown + Finalizar), auto_profesional pre-fill desde sesión, fecha→fecha_hoy en campos de toma/recepción - get_consentimientos.php: añadir requiere_firma_paciente para controlar botón WA - save_firma_profesional.php: API para guardar firma pre-configurada del profesional - migrations: turnero_dispositivos, admin_users.firma_svg, clon VIH F-LAB-05 para turnero Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
29 lines
1.3 KiB
SQL
29 lines
1.3 KiB
SQL
-- ============================================================
|
|
-- Migration: 20260707_turnero_dispositivos
|
|
-- Mapeo IP fija → lugar para tablets del turnero.
|
|
-- Cada tablet solo puede acceder a su lugar asignado.
|
|
-- ============================================================
|
|
CREATE TABLE IF NOT EXISTS turnero_dispositivos (
|
|
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
|
|
ip VARCHAR(45) NOT NULL UNIQUE,
|
|
lugar_id INT NOT NULL,
|
|
nombre VARCHAR(100) NOT NULL,
|
|
activo TINYINT(1) NOT NULL DEFAULT 1,
|
|
INDEX idx_ip (ip),
|
|
INDEX idx_lugar (lugar_id)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
|
|
INSERT INTO turnero_dispositivos (ip, lugar_id, nombre) VALUES
|
|
('192.168.21.61', 1, 'Toma de Muestras 1'),
|
|
('192.168.21.62', 2, 'Toma de Muestras 2'),
|
|
('192.168.21.63', 13, 'Toma de Muestras 3'),
|
|
('192.168.21.64', 14, 'Toma de Muestras 4'),
|
|
('192.168.21.65', 15, 'Toma de Muestras 5'),
|
|
('192.168.21.66', 16, 'Toma de Muestras 6'),
|
|
('192.168.21.67', 17, 'Toma de Muestras 7'),
|
|
('192.168.21.68', 18, 'Toma de Muestras 8'),
|
|
('192.168.0.221', 10, 'Recepción 1 - Vianny Ortega'),
|
|
('192.168.0.29', 11, 'Recepción 2 - Angel Wilches'),
|
|
('192.168.0.225', 19, 'Recepción 3 - Gina Gomez')
|
|
ON DUPLICATE KEY UPDATE lugar_id = VALUES(lugar_id), nombre = VALUES(nombre);
|