Commit Graph

6 Commits

Author SHA1 Message Date
ecee38cf96 feat: implementar sistema de validación de IPs de 4 capas v1.6.0
- Agregar validación multi-capa para garantizar IPs 100% disponibles
- Capa 1: Filtrar IPs de dispositivos registrados en UISP
- Capa 2: Filtrar IPs de servicios CRM suspendidos/finalizados (449 IPs)
- Capa 3: Validar IPs usando búsqueda de sitios con type=subscriber
- Capa 4: Verificación opcional por ping para dispositivos de terceros

Nuevos Componentes:
- src/IpValidator.php: Clase de validación por búsqueda de sitios
- Validación progresiva en frontend JavaScript
- Endpoint action=validate en public.php

Mejoras:
- CrmService.php: Filtrado mejorado de servicios suspendidos/finalizados
- IpSearchService.php: Extraer todas las IPs de ipAddressList
- Frontend: Validación progresiva de IPs con feedback visual
- Cambiar suspended=false a suspended=true en API de UISP

Correcciones:
- Corregir variable $config indefinida en handler de validación
- Corregir falsos positivos agregando parámetro type=subscriber
- Corregir IPs secundarias no detectadas
- Corregir IPs de servicios suspendidos/finalizados mostrándose disponibles

Resultados de Pruebas:
- IP 172.16.54.70 (servicio finalizado): Filtrada correctamente por capa CRM
- IP 172.16.54.58 (cliente activo): Filtrada correctamente por búsqueda de sitios
- Todas las IPs mostradas verificadas como 100% disponibles

Documentación:
- Actualizado README.md con detalles del sistema de 4 capas
- Actualizado CHANGELOG.md con notas de versión 1.6.0
- Creado walkthrough.md completo
2025-12-06 12:34:58 -06:00
ab8a60f556 feat(v1.5.1): Funcionalidad de edición en configuración avanzada
 Nuevo:
- Botón "✏️ Editar" en tabla de segmentos del editor avanzado
- Modo de edición visual con título y botón dinámicos
- Campo de segmento se deshabilita durante edición (no se puede cambiar ID)
- CRUD completo: Create, Read, Update, Delete

🔧 Mejoras:
- Función addSegmentToTable() maneja creación y actualización
- 5 nuevas funciones helper para gestión de rangos:
  * clearRangeContainers()
  * addInitialRangeWithData() / addFinalRangeWithData()
  * resetForm()
  * editSegment()
- Scroll automático al inicio del formulario al editar
- Validación de duplicados solo en modo creación
- Mensajes diferenciados ("agregado" vs "actualizado")

🎨 Interfaz:
- Botón editar con estilo azul distintivo
- Indicadores visuales claros de modo edición vs agregar
- Formulario se pre-llena automáticamente con datos del segmento

Completa la funcionalidad CRUD del panel de administración de IPs.
2025-12-01 13:20:29 -06:00
6a0e15447c fix(v1.5.0): Correcciones críticas en configuración avanzada de IPs
- Corregida inicialización de editorData que impedía cargar rangos personalizados
- Corregidos errores de escape JS que rompían botones de la interfaz
- Corregida clasificación frontend que ignoraba rangos específicos por segmento
- Agregado indicador visual de modo y logs de depuración
- Eliminada columna redundante en tabla de resultados

Resuelve problemas donde los rangos admin personalizados eran ignorados.
2025-11-27 14:40:58 -06:00
1b821410c1 git commit -m "feat: sistema de configuración avanzada de IPs administrativas por segmento (v1.5.0)
- Agregar editor visual de configuración avanzada con protección por contraseña
- Implementar rangos de IPs administrativas personalizados por segmento
- Crear AdminRangeHelper.php para procesamiento de JSON por segmento
- Agregar botón ⚙️ de acceso rápido al editor
- Implementar modal de autenticación con validación de contraseña
- Agregar fallback inteligente a rangos globales para segmentos no configurados

Configuración avanzada:
- 3 campos nuevos en manifest.json (checkbox, JSON textarea, password)
- Editor visual completo con formularios dinámicos
- Agregar/eliminar segmentos y rangos en tiempo real
- Tabla de segmentos configurados con acciones
- Validación de cambios sin guardar
- Mensaje de éxito al guardar configuración

Backend:
- AdminRangeHelper.php: getSegmentLimits(), isAdminIpCustom(), validateConfigJson()
- IpSearchService.php: soporte para rangos personalizados con fallback
- Handler POST para guardar configuración JSON

Frontend:
- ~250 líneas de JavaScript para gestión del editor
- CSS responsive con soporte para temas claro/oscuro
- Interfaz amigable para usuarios no técnicos

Lógica de fallback:
- Checkbox desactivado → rangos globales para todos
- Checkbox activado + segmento en JSON → rangos del JSON
- Checkbox activado + segmento NO en JSON → fallback a rangos globales

Archivos creados:
- src/AdminRangeHelper.php

Archivos modificados:
- manifest.json: 3 campos nuevos, versión 1.5.0
- src/IpSearchService.php: lógica de fallback
- public.php: editor completo, modal, JavaScript
- CHANGELOG.md: entrada v1.5.0
- README.md: documentación de nuevos campos"
2025-11-27 13:00:40 -06:00
8549bab24b Característica: se implementó la verificación por ping opciones para mejorar la precisión de las direcciones IP disponibles. 2025-11-26 14:23:07 -06:00
3a061d8889 Primer versión funcional en web 2025-11-25 11:02:42 -06:00