feat(turnero): dispositivos por IP, firmas, formularios y muestras prolongadas
- 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>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
4de9c2f9b4
commit
8760b685ad
@@ -0,0 +1,28 @@
|
||||
-- ============================================================
|
||||
-- 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);
|
||||
Reference in New Issue
Block a user