Releases: Dsantycam/cm-machine-history
Release list
v2.8.0 — Arreglos de seguridad y ventanas de alta legibles
Seguridad — actualiza antes de dar acceso a clientes
Auditoría completa del plugin antes de abrirlo a clientes. Tres cosas corregidas:
1. Aislamiento entre clientes. La consulta que rellena los formatos devolvía la ficha completa de cualquier máquina a cualquier usuario con sesión iniciada. Un cliente de una empresa podía leer las máquinas de otra escribiendo su código, saltándose el aislamiento que sí respetan el portal y el panel del técnico. Ahora los datos internos —notas, horómetro, fechas— solo salen si el usuario tiene acceso a esa máquina; el resto recibe únicamente lo necesario para rellenar el formulario.
2. Enumeración desde el formulario público. El formato es público por diseño, pero los códigos son predecibles (APC BOG TY No. 001, 002…) y se podía recorrer la flota entera con sus contactos. Se limita a 40 consultas por IP cada 10 minutos.
3. Salida de directorio al anexar archivos. El código de máquina se puede editar a mano y entraba tal cual en la ruta de subida, así que uno que contuviera ../ escribía fuera de la carpeta de subidas. Ahora se reduce a un nombre de carpeta seguro.
Revisado sin hallazgos: los 38 puntos de entrada del plugin comprueban permisos y token de seguridad; ninguna consulta a la base de datos monta datos del usuario sin parametrizar; no hay contenido que salga a la página sin escapar; los mensajes que viajan por la URL se escapan.
Las ventanas de «Agregar» ya se ven bien
Se veían desordenadas por un motivo concreto, no estético: la ventana se cuelga fuera del contenedor del plugin, y todo el estilo de los formularios cuelga de ese contenedor. Los campos salían con el estilo por defecto del navegador.
Además: la cabecera se queda fija y solo se desplaza el contenido, así que en el alta de máquina ya no se pierde el título al bajar; dos columnas cómodas en vez de cuatro apretadas; y los botones se quedan a la vista al pie, sin ocupar el ancho entero.
Compatibilidad declarada
El plugin ya declara que necesita WordPress 6.4 y PHP 7.4, los mismos mínimos que pide Forminator 1.57.
Pruebas
650 comprobaciones automáticas en verde, incluidas pruebas nuevas que verifican de punta a punta que un cliente no puede leer las máquinas de otra empresa, y que un código con ../ no saca los archivos de su carpeta.
v2.7.0 — Datos desde el alta, y edición de intervenciones con rastro
Crear empresas y sucursales con sus datos de una vez
Antes había que crear la ficha, entrar en ella y bajar hasta el formulario para escribir el encargado, el teléfono o la dirección. Ahora esos campos están en la misma ventana de alta.
Van plegados bajo «Datos de contacto, ubicación y facturación», así que dar de alta sigue siendo dos campos —nombre y código— y el resto queda a un clic si lo quieres llenar ya. Sigue siendo opcional: lo que no escribas se completa después, como siempre.
En la sucursal, el marcador de agua de cada campo te dice lo que heredaría de la empresa si lo dejas vacío, para no escribir dos veces lo mismo.
El formulario de máquina ya pedía todos sus datos opcionales; ese no cambia.
Editar intervenciones desde la pantalla de Intervenciones
Hasta ahora solo se podían corregir desde la línea de tiempo de la máquina, lo que obliga a saber a qué máquina pertenece antes de poder tocarla. Ahora cada fila de Intervenciones tiene su botón «Editar» y el formulario se abre ahí mismo, sin perder el filtro que tenías puesto.
El formulario de edición gana además los sistemas de falla, que hasta ahora no se podían corregir después de registrada la intervención.
Cada edición queda anotada
Un historial de mantenimiento que se puede corregir en silencio no sirve como historial. Ahora cada cambio se registra en la línea de tiempo de la máquina, en la tarjeta de la intervención que se editó: quién lo hizo, cuándo, y qué cambió campo por campo, con el valor anterior y el nuevo.
Editada por Santiago Camacho: Técnico: Juan Pérez → Carlos Ramírez · Costo: $450.000 → $500.000
Guardar sin cambiar nada no anota nada. Y estas anotaciones no se mezclan con los logs de integración, que registran otra cosa.
Pruebas
630 comprobaciones automáticas en verde, entre ellas la creación de una empresa y una sucursal con sus datos por la ruta real de WordPress, la edición de una intervención con su registro correspondiente, y la verificación de que guardar sin cambios no inventa una modificación falsa.
v2.6.0 — Varios sistemas de falla por intervención
Varios sistemas de falla por intervención
Una avería puede tocar más de un sistema, y en el formulario eso suele ser un checkbox. Hasta ahora el plugin guardaba solo el primero que coincidiera, y solo si el valor estaba escrito a mano en la tabla de traducción del formato. Lo demás se descartaba en silencio, así que la gráfica de «Averías por sistema» salía incompleta sin que nada lo advirtiera.
Ahora:
- Se guardan todos los sistemas marcados. Marca los que apliquen y quedan todos.
- Ya no hace falta escribirlos antes. Cada valor se resuelve en tres pasos: la tabla de traducción del formato, la lista de sistemas del plugin —que ya reconocía por palabras sueltas, así que «Sistema hidráulico» cae en Hidráulico— y, si no está en ninguna, se da de alta solo, con el nombre tal como llegó del formulario. Después puedes renombrarlo en Ajustes → Listas configurables.
- Los formularios manuales del administrador y del técnico pasan de un desplegable de una sola opción a casillas: marcas las que apliquen.
- El reporte cuenta la avería en cada sistema que tocó. Por eso la suma de las partes puede pasar del total de averías: una sola avería que afectó frenos e hidráulico cuenta en los dos. Es lo correcto para responder «¿qué me está fallando?».
- El CSV exporta los nombres, no las claves internas.
Compatibilidad
Todo lo registrado hasta hoy tiene un solo sistema por intervención y se sigue leyendo exactamente igual. No hay nada que migrar ni que reconfigurar.
Pruebas
596 comprobaciones automáticas en verde, entre ellas un envío real de Forminator con tres sistemas marcados a la vez —uno traducido por la tabla, uno reconocido por la lista y uno completamente desconocido— y la verificación de que el reporte los cuenta por separado y no inventa un sistema que sea la suma de los tres.
v2.5.0 — Estados de pago que no son deuda, y un arreglo importante
Arreglo importante — actualiza aunque no uses lo demás
La columna donde se guarda el estado de pago admitía 20 caracteres. Venía de cuando los estados eran tres y fijos. Desde la v2.3.0 los creas tú, y una etapa como «Pendiente de cotización» genera una clave de 23 caracteres: no cabía, y la intervención no se guardaba.
Si creaste algún estado de nombre largo y notaste que alguna intervención no quedó registrada, esa era la causa. Ya está corregido, y las instalaciones existentes se migran solas al actualizar.
Dos comportamientos nuevos en «Frente al dinero»
No todo lo que se registra es una deuda. Además de Sigue por cobrar, Cobrado y Anulado, ahora hay:
En trámite — para lo cotizado y todavía sin aprobar. Sale de «Por cobrar», porque una cotización no es plata que alguien te deba, y suma en su propio indicador En trámite, que aparece en el dashboard, la hoja de vida, la pantalla de Intervenciones (con filtro propio), los reportes y los CSV.
No contabilizar — para lo que sencillamente no es plata: garantías, cortesías, trabajo interno. No entra en ningún indicador de dinero, ni siquiera en el costo total. La intervención se registra igual y sigue contando para la disponibilidad y los indicadores técnicos: es una decisión contable, no técnica.
Los dos indicadores solo aparecen si marcas algún estado así. Si no los usas, no verás nada nuevo.
Además
El portal del cliente calculaba el saldo con su propia fórmula, y por eso le seguía mostrando al cliente lo que estaba anulado. Ahora usa la misma del administrador, que es el único sitio donde se calcula.
Al actualizar
Nada que configurar. Si ya tienes creada una etapa tipo «Pendiente de cotización», sigue marcada como «Sigue por cobrar»: no se cambia sola, porque eso movería tus números sin avisarte. Entra a Ajustes → Listas configurables y ponle el comportamiento que quieras.
Pruebas
557 comprobaciones automáticas en verde, entre ellas la regresión de la columna —con su migración desde una instalación vieja— y la verificación, con datos reales, de que una cotización no mueve «Por cobrar» ni un peso y de que el cambio es reversible.
v2.4.0 — Sistemas de falla configurables e interfaz reordenada
Lo nuevo
Sistemas de falla configurables. Era la última lista que seguía fija en el código: los 12 sistemas de siempre (frenos, potencia, tracción…). Ahora se editan en Ajustes → Listas configurables, igual que los tipos de mantenimiento y los estados de pago. Puedes renombrar los que ya están y agregar los tuyos —transmisión, cadenas, neumáticos, lo que manejes— y aparecen solos en el formulario de intervención, en la pantalla de Formatos y en la gráfica «Averías por sistema».
La clave interna nunca cambia al renombrar, así que nada de lo ya registrado se pierde. Si retiras un sistema, las intervenciones que lo usaban lo conservan y se siguen viendo en los reportes.
Interfaz
La pantalla acumulaba demasiado: cabecera enorme, diez indicadores del mismo peso, formularios apretados en una columna de 340 px y ajustes en un scroll interminable. Se reordenó sin cambiar dónde está cada cosa, para que quien ya sabe usarlo siga sabiendo.
- Menú por bloques: Seguimiento y Configuración, con las mismas páginas de siempre.
- Ajustes en pestañas en lugar de seis bloques largos uno debajo de otro.
- Los formularios de alta se abren en una ventana, a todo el ancho, en vez de vivir apretados en la columna de la derecha. Los botones dicen exactamente qué agregan.
- Indicadores en dos niveles: los cuatro de diario, grandes; el resto, en una franja compacta. Ningún valor se corta.
- Tablas con buscador y orden al hacer clic en el encabezado, y franja alterna para no perder la fila. No se comprimieron: siguen igual de legibles.
- Pestañas fijas al bajar en la hoja de vida, y los formularios largos agrupados por secciones.
- Aviso de cambios sin guardar, y el botón de enviar no admite doble clic: se acabaron las intervenciones duplicadas por impaciencia.
- Se recuerda dónde estabas: la pestaña abierta y los filtros de cada pantalla. Cuando se reponen unos filtros, sale un aviso con un «Ver todo» — una lista filtrada nunca va a parecer vacía por error.
- Las pantallas vacías ahora enseñan: dicen qué sigue y traen el botón que lo hace, en vez de un «sin datos» a secas.
Pruebas
505 comprobaciones automáticas, todas en verde. Entre ellas, por primera vez, la integración probada contra Forminator de verdad: formulario creado con su propia API, envío capturado, reglas del tipo aplicadas, sistema de falla traducido y cierre automático de la tarea verificado de punta a punta.
Al actualizar
Nada que configurar. Los 12 sistemas de siempre quedan cargados tal cual; solo entra a Ajustes si quieres agregar los tuyos.
v2.3.0 — Tipos y estados configurables, cierre de tareas y panel de intervenciones
Seis cambios pedidos tras el primer uso real de la v2.2, más una pasada de maquetación.
1. Ahora sí se puede terminar una tarea
El control para cambiar el estado vivía únicamente dentro de la ficha de cada máquina, así que el técnico enviaba el formulario en otra pestaña y no tenía dónde darla por terminada.
- Botón «Completar» en «Mis tareas pendientes», en la pestaña Técnicos de la hoja de vida y en el panel del equipo.
- Y se cierra sola cuando llega su intervención. Se cierra la tarea que esté en curso para esa máquina; si hay varias, la del técnico que firma el formulario. Una tarea pendiente que nadie abrió nunca se cierra sola. Se puede apagar en Ajustes.
2. Las intervenciones ya no se ven repetidas
Era un error de la consulta, no de los datos: al cruzar con la tabla de archivos sin agrupar, una intervención con dos archivos —el PDF que encontró el reintento más uno subido a mano— aparecía dos veces en el timeline.
Además, la pestaña Intervenciones ahora abre en una tabla limpia, una línea por intervención, con fecha, tipo, técnico, horómetro, parada, costo, pago y PDF. El timeline sigue ahí a un clic, como registro detallado.
3. Estados de pago que puedes crear tú
Desde «Máquinas → Ajustes» agregas las etapas de tu proceso de cobro: pendiente de cotización, pendiente de orden de compra, pendiente de formato, las que necesites. Cada una con su color y con lo que hace frente al dinero:
- Sigue por cobrar — lo normal para una etapa del proceso.
- Cobrado — al guardar, iguala lo abonado al costo.
- Anulado — deja de contar en «Por cobrar», sin tocar lo abonado.
El dinero se sigue calculando como costo menos abonado. Los tres estados de siempre conservan su comportamiento exacto.
4. Los cuadros del dashboard llevan a algún sitio
Pantalla nueva «Intervenciones» con filtros por tipo, estado de pago, situación de cobro, empresa y búsqueda por código o técnico.
Cada tarjeta del dashboard y de la hoja de vida es ahora un enlace a la lista que la explica: si haces clic en «Por cobrar», se abre exactamente lo que está pendiente de cobro. Igual con preventivos, averías, horas de parada y costos.
5. Tipos de mantenimiento que puedes crear tú
Además de preventivo, correctivo, avería y evaluación, agrega los tuyos —garantía, siniestro, instalación— cada uno con su color y con una casilla que decide si descuenta disponibilidad, que es lo único con consecuencias sobre los indicadores.
Los cuatro de siempre también se pueden renombrar y reconfigurar. La clave interna nunca cambia, así que renombrar no pierde nada de lo ya registrado, y un tipo que retires se sigue viendo en el historial en vez de quedar en blanco.
Ojo: cambiar si un tipo descuenta disponibilidad altera los indicadores ya calculados de las máquinas que lo usen.
6. Vista general del equipo técnico
«Máquinas → Horas técnicos» pasa a llamarse «Equipo técnico» y suma un panel con todas las tareas del equipo, sin tener que entrar máquina por máquina: abiertas por defecto, con las vencidas marcadas en rojo, filtrables por técnico y empresa, con las horas de cada una y el botón de completar en cada fila.
Maquetación
Las pantallas fueron ganando columnas y controles hasta desbordarse. Sin rediseñar nada —todo queda donde ya lo conoces—:
- Las tablas anchas ahora se desplazan dentro de su panel en vez de estirar la página y descuadrar el resto.
- Los botones de acción dejan de montarse entre sí al estrechar la ventana.
- Los badges no se parten en dos líneas ni empujan la celda.
- El formulario de contacto de empresa y sucursal deja de cortar la rejilla a mitad de camino.
- Mejor comportamiento en pantallas pequeñas.
Instalación
Descargar cm-machine-history.zip e instalarlo desde Plugins → Añadir nuevo → Subir plugin. No se pierde ni se altera ningún dato: los tipos y estados existentes se conservan tal cual y aparecen ya listados en Ajustes.
v2.2.1 — Más filas para mapear en Formatos
Corrección rápida sobre la v2.2.0.
Muchas más filas para mapear
Las tablas de «Máquinas → Formatos» pintaban muy pocas filas vacías, así que no se podían agregar más mapeos que esos de una sola vez, por amplio que fuera el catálogo de datos disponibles.
- Autorrelleno: de 5 filas vacías a 30.
- Traducción del sistema / falla: de 3 a 20.
- Reglas del tipo de mantenimiento: de 3 a 15.
Las filas que se dejen vacías se siguen descartando al guardar, así que no estorban ni ensucian la configuración. Si necesitas todavía más, guarda y la pantalla vuelve a ofrecerte el bloque completo de filas vacías debajo de lo que ya configuraste.
Instalación
Descargar cm-machine-history.zip e instalarlo desde Plugins → Añadir nuevo → Subir plugin. No cambia ningún dato.
v2.2.0 — Reglas del tipo, prellenado ampliado y tarea del mantenimiento programado
Esta versión completa el autorrelleno de los formatos, convierte el tipo de mantenimiento en reglas configurables, hace que cada mantenimiento programado nazca como tarea, y evita que eliminar el plugin borre los datos.
Eliminar el plugin ya no borra nada
Hasta ahora, eliminar el plugin desde la pantalla de Plugins borraba las doce tablas sin preguntar: máquinas, intervenciones, tareas, horas y accesos. Aunque lo eliminaras solo para reinstalarlo.
Ahora por defecto se conserva todo. Si eliminas el plugin y lo vuelves a instalar, tus datos siguen ahí. El borrado solo ocurre si lo pides expresamente con el interruptor nuevo de «Máquinas → Ajustes», que viene apagado. Desactivar el plugin nunca ha borrado nada y sigue igual.
Autorrelleno de los formatos
Ya no llega vacío. Los tres formatos vienen sembrados con lo que el plugin ya sabía de cada uno: dónde va el código de máquina, el contacto, la fecha, el técnico y el horómetro. El botón «Sugerir prellenado» completa lo que falte a partir del mapeo de captura, sin pisar lo que hayas configurado.
Muchas más fuentes de datos, agrupadas en el desplegable:
- Máquina: código, marca, modelo, serial, contacto, horómetro, horas programadas, próximo mantenimiento, recurrencia, estado y notas.
- Empresa: nombre, código, encargado, cargo, teléfono, celular, correo, segundo contacto, dirección, barrio, notas de acceso, NIT, razón social, correo de facturación y condiciones de pago.
- Sucursal: los mismos contactos y ubicación. Lo que dejes vacío en la sucursal hereda de su empresa, así que escribes una sola vez lo que se repite.
- Última intervención: horómetro anterior, fecha, técnico que la atendió, tipo y días transcurridos.
- Tarea y usuario: título, notas y vencimiento de la tarea, quién abre el formato y su correo, fecha y hora.
- Texto fijo: un valor que escribes tú y que no depende de ningún dato.
Los datos de contacto de empresa y sucursal son campos nuevos: hay que llenarlos en sus fichas para que lleguen al formulario.
Reglas del tipo de mantenimiento
El «campo que decide el tipo» se convierte en una lista de reglas que se evalúan de arriba abajo, donde gana la primera que se cumpla. Cada regla compara un campo con un operador y un valor:
es igual a · no es igual a · contiene · empieza por · está vacío · no está vacío · es mayor que · es menor que
Así se pueden escribir cosas como «si las horas de parada son mayores que cero, es avería». Si ninguna regla se cumple, aplica el tipo por defecto del formato.
Lo que ya tenías configurado no se pierde ni hay que rehacerlo: se convierte solo en reglas «es igual a», conservando el orden, que era y sigue siendo la prioridad.
El mantenimiento programado se vuelve tarea
Antes la tarea solo aparecía cuando la fecha entraba en la ventana de alerta, unos días antes. Si programabas a tres meses, no veías nada.
Ahora la tarea se crea apenas guardas la fecha, aunque falten meses, y se comporta como cualquier otra tarea. Además:
- Se asigna al técnico principal de la máquina, que se marca en la pestaña Técnicos de su hoja de vida.
- Se mueve con la fecha: si reprogramas el mantenimiento, la tarea cambia de fecha en vez de quedar una vieja suelta.
- Si quitas la fecha o das de baja la máquina, la tarea pendiente se retira, salvo que ya tenga horas de trabajo registradas.
En Ajustes puedes volver al comportamiento anterior si prefieres la lista de tareas más corta.
Instalación
Descargar cm-machine-history.zip de este release e instalarlo desde Plugins → Añadir nuevo → Subir plugin. Las columnas y ajustes nuevos se crean solos al activar, sin perder ni alterar datos existentes.
v2.1.0 — Horas trabajadas por técnico
Esta versión agrega el conteo de horas trabajadas por técnico e incorpora el arreglo de las actualizaciones automáticas.
Horas trabajadas por técnico
El reloj corre por tramos: se abre cuando el técnico pone la tarea en «En progreso» y se cierra cuando la marca «Completada». Devolverla a «Pendiente» cuenta como pausa, así que una tarea que se trabaja, se deja y se retoma acumula varios tramos y el total es la suma de todos.
Las horas se le cargan siempre al técnico. Si el administrador mueve la tarea, el tramo queda a nombre del técnico asignado; si un técnico distinto la toma, manda quien realmente trabaja.
Pantalla nueva «Máquinas → Horas técnicos»
- Filtro por rango de fechas, técnico y empresa.
- Indicadores del periodo: horas totales, técnicos con horas, tareas trabajadas y relojes corriendo.
- Gráfica y tabla por técnico: horas, tareas, máquinas, tramos y promedio por tarea.
- Tabla por máquina, para ver en qué equipos se va el tiempo.
- Panel «En curso ahora» con los relojes abiertos y cuánto llevan.
- Detalle de tramos, corregible o eliminable uno por uno, y exportación a CSV.
En la hoja de vida, el tab Técnicos muestra una columna «Horas» por tarea, con un distintivo «En curso» cuando el reloj está andando.
El panel del técnico no muestra horas ni tramos: todo esto es solo para administradores.
Protección contra el reloj olvidado
Contar tiempo de reloj tiene un riesgo evidente: si el técnico olvida marcar la tarea como completada, el reloj sigue corriendo de noche. Tres defensas:
- Tope de horas por tramo, configurable en «Máquinas → Ajustes» (12 horas por defecto). Al cerrar, lo que exceda se recorta y queda una nota con el tiempo real transcurrido.
- El proceso diario cierra los tramos que sigan abiertos pasado el tope.
- Cualquier tramo se puede corregir a mano cambiando su hora de inicio y fin.
En «En curso ahora», los relojes que ya pasaron del tope aparecen marcados.
Actualizaciones automáticas
El verificador de actualizaciones ahora descarga el ZIP adjunto al release en vez del comprimido del código fuente, que arrastraba archivos de documentación ajenos al plugin. Si algún release no trae ZIP adjunto, vuelve solo al comportamiento anterior.
Importante: este arreglo empieza a servir a partir de la versión siguiente, porque el código corregido tiene que estar ya instalado. Para llegar a la 2.1.0 hay que descargar el ZIP de este release e instalarlo a mano una vez. De ahí en adelante, las actualizaciones desde el panel de WordPress bajan el ZIP limpio solas.
Instalación
Descargar cm-machine-history.zip de este release e instalarlo desde Plugins → Añadir nuevo → Subir plugin. La tabla nueva se crea sola al activar; no se pierde ni se altera ningún dato existente.
v2.0.0 — Analítica multinivel, acceso por sucursal y vinculador de formatos
Versión mayor. Reúne tres bloques de trabajo que nunca se publicaron por separado, por eso el salto desde la 1.0.1.
Al actualizar no hay que hacer nada manualmente: las tablas y columnas nuevas se crean solas y la configuración de formatos se siembra con el mapeo que ya venía en el código. Probado sobre una instalación real con datos.
1. Analítica multinivel y acceso por sucursal
Todo —gráficas, indicadores, estadísticas y costos— se puede ver ahora en los cuatro niveles: toda la flota, una empresa, una ciudad/sucursal o una máquina, con filtro adicional por marca.
- Gráficas en todas partes. El dashboard estrena tendencia de disponibilidad, preventivo frente a correctivo, costos por mes y averías por sistema. La hoja de vida cambia la pestaña «Disponibilidad» por «Indicadores», con las gráficas de esa máquina. Todo es SVG generado en el servidor: sin librerías externas ni CDN.
- Indicadores nuevos: MTBF, cumplimiento del plan preventivo (programados frente a cerrados a tiempo), y costos separados en facturado, pagado y saldo, con costo promedio por intervención.
- Comparar por lo que sirva: empresa, ciudad/sucursal, máquina, marca o modelo, con un modo automático que elige la dimensión que aporta información en cada nivel.
- Acceso de clientes por sucursal. Hasta ahora un cliente solo podía tener acceso a una empresa completa. Ahora se le puede dar acceso a una o varias sucursales sin abrir el resto de la empresa. El panel de asignación está en la ficha de la ciudad/sucursal.
- El portal del cliente gana su propia sección de reportes con el mismo motor, acotada a lo suyo y redactada desde su lado, e incluye los costos completos: total facturado, pagado y pendiente por pagar.
2. Formato prellenado desde la tarea
- Al crear una tarea se elige qué formato debe diligenciar el técnico. Si se deja sin elegir —como en las tareas que genera el mantenimiento recurrente—, lo escoge él al abrirla.
- El botón «Abrir formato» abre el formulario en una pestaña nueva con los datos de la máquina ya cargados, y la tarea pasa sola a «En progreso».
- Hay también un panel «Diligenciar formato» en la ficha del técnico, para abrir cualquiera de los formatos prellenado sin necesidad de una tarea.
Corrección importante: un técnico con una tarea asignada en una máquina que no tenía asignada veía la tarea en su panel, pero al entrar chocaba con «No tienes acceso». Ahora la tarea es en sí misma la autorización: se entra a la máquina por estar asignado a ella o por tener una tarea en ella.
3. Vinculador de formatos
Nueva pantalla «Máquinas → Formatos». Hasta ahora, conectar un formulario de Forminator exigía tocar el código del plugin y publicar una versión. Ahora es configuración.
- Se elige el formulario y se mapea cada campo con desplegables que muestran la etiqueta y el slug reales (
text-14 — Código de máquina), con una sugerencia automática a partir de los nombres de los campos. - Se configura qué campo decide el tipo de mantenimiento y cómo se traducen sus valores, y lo mismo para el sistema/falla.
- Autorrelleno a la carta: se elige exactamente qué campo se llena con qué dato —de la máquina, la empresa, la ciudad, el usuario que abre el formato, la fecha de hoy o la tarea—, distinto en cada formato.
- Probador de mapeo: toma el último envío real del formulario y muestra qué extraería el plugin, sin crear nada.
- Aviso de campos rotos: Forminator renumera los slugs cuando se borra y se vuelve a crear un campo, y un campo perdido llega vacío sin avisar. Ahora se detecta y se avisa.
- Además: reprocesar un envío fallido desde los logs, duplicar la configuración de un formato, y activar o desactivar un formato sin borrar su mapeo.
Correcciones
- El sistema de la falla nunca se estaba guardando en lo que entraba por Forminator, así que la gráfica «Averías por sistema» solo reflejaba las intervenciones cargadas a mano. Ahora se mapea y se traduce.
- El costo entraba siempre en cero en las intervenciones creadas desde formulario. Ahora costo y monto abonado son mapeos opcionales.
- Un horómetro escrito «1.234,5» se guardaba como 0, en silencio. El campo del formato de avería es de texto, así que ocurría de verdad.
- Tres puntos donde un campo vacío en la base provocaba un aviso de PHP visible en la página.
Pruebas
Ejecutadas sobre WordPress 7.1 y MariaDB 10.4 reales: instalación limpia, actualización desde la v1.0.1 con datos preexistentes —sin pérdida ni alteración de nada— y desinstalación completa. 147 comprobaciones de integración, más 325 en pruebas aisladas de la lógica y 224 consultas SQL verificadas.
Lo que no se pudo probar automáticamente, porque exige el sitio real: el envío de un formulario de Forminator de punta a punta, la generación del PDF por E2PDF, y la lectura de formularios y campos desde la API de Forminator que alimenta la pantalla de Formatos.