Releases: anpaventin/wp-anpa-socios
Releases · anpaventin/wp-anpa-socios
Release list
v1.49.2 — Fase36 Plantillas de Email + Fase37 Contenido Administrativo
v1.49.2
- Fix crítico: URLs de admin incorrectas (
admin_post_url()→admin_url()) - Tests de regresión para URLs de admin
v1.49.1
- FASE36 — Sistema de Plantillas de Email: 10 templates canónicos, renderizado, admin UX, migración idempotente
- FASE37 — Contenido Administrativo: shortcodes, páginas de configuración, gestión de contenido
Sin cambios de esquema (DB 1.39.0)
v1.49.1
FASE36 — Sistema de Plantillas de Email
Implementación completa del sistema de plantillas transaccionales para el plugin ANPA Socios:
- 10 templates canónicos: verification_code, baixa_socio, reactivacion, baixa_extraescolar, oferta_extraescolar, pendente_aprobacion, aprobacion, benvida_alta, rexeitamento, send_from_master.
- Renderizado con variable substitution, HTML/text plano, subject, escaping/sanitización y fallback legacy.
- Proveedor registrado mediante filter anpa_socios_email_render_provider.
- Integración transaccional en los 10 métodos enviar_* con render_with_template().
- Admin UX: página "Plantillas de Email" bajo "Axustes" con lista, edición, preview, restore, nonce y capability.
- Migración/seed idempotente en activation hook sin nuevas tablas.
- Tests de backward compatibility para los 10 métodos transaccionales.
- Fix crítico de require_once faltantes para template-store y template-renderer.
DB version: 1.39.0 (sin cambios de esquema).
v1.49.0
1.49.0
Features
- Communications queue pure domain (fase35)
Fixes
- Fail-closed trimester repo, audit correlation/reason (fase34)
Maintenance
- PHPUnit contract test path resolution portable (WpCli-Remote)
- Composer platform.php declared for runtime baseline compatibility
- Plugin test dependencies reconciled with PHP 8.3
v1.48.0
ANPA Socios 1.48.0 — Calendario académico e trimestres (fase34)
Nova xestión do calendario académico por curso, coa base para os seguintes
módulos de extraescolares e comunicación. Non xestiona pagamentos e nunca
cambia estados de forma automática: as transicións críticas son manuais e
quedan rexistradas.
Novidades
- Datas operativas por curso en Axustes → Cursos → Curso escolar: peche
operativo do 1º e do 2º trimestre, con validación de orde e rango. Opcionais:
se se deixan baleiras, o cálculo do trimestre volve ao modelo mensual. - Trimestre derivado da data (T1/T2/T3) a partir das datas operativas.
- Estados separados de trimestre lectivo (
pendente → activo → pechado) e
de ventá de solicitudes (pechada ↔ aberta), persistidos por curso. - Panel de estado dos trimestres con transicións manuais (nonce +
manage_options, idempotentes) rexistradas nun log de transicións. - Botón «Copiar datas do curso anterior» (+1 ano, editables antes de gardar).
- Aviso automático no panel cando a comprobación diaria detecta que se
alcanzou a data de peche operativo dun trimestre aínda activo. Só avisa; a
xunta xestiona a transición cando queira.
Base de datos
- Migración aditiva e idempotente a DB 1.38.0: novas columnas
t1_peche_operativo/t2_peche_operativoenwp_anpa_cursose novas táboas
wp_anpa_curso_trimestresewp_anpa_transicions. Sementa os trimestres do
curso activo. Sen perda de datos; sen tocarmatriculas.trimestrehistórico.
Calidade
- Suite PHPUnit verde (1003 tests). Novas probas puras do calendario e dos
estados, e probas de inspección da UI, do repositorio e do cron.
v1.47.8
1.47.8 — Endurecemento de seguridade (auditoría fase 33)
- Passphrase suxerida: a suxestión de contrasinal do asistente xérase agora cun
xerador criptográfico seguro (random_int) en lugar dun PRNG non criptográfico.
(Non afectaba á xeración de claves, que xa era segura; era só a suxestión editable.) - Restauración de copia: engádese un límite de tamaño a nivel de aplicación (por
defecto 50 MB, filtrable) na subida do ficheiro.anpabakantes de procesalo. - Paquete de distribución máis limpo: o ZIP xa non inclúe ficheiros internos de
proceso (po.txt,pub.txt,_lint.txt) nin a carpetadocs/(que contiña scripts
de mantemento e mostras CSV que non deben chegar ás instalacións).
Sen cambios funcionais nin de esquema. A auditoría de seguridade non atopou
vulnerabilidades críticas nin altas.
v1.47.7
1.47.7 — Corrección visual no panel de inicio
- Cando faltan datos bancarios, na pantalla de inicio do socio ocúltase correctamente o botón «Nova matrícula» e amósase só «Completar Conta / IBAN» xunto co aviso en vermello. (O botón non se ocultaba porque a regra de disposición prevalecía sobre o atributo de ocultado.)
v1.47.6
1.47.6 — Aviso de datos bancarios na pantalla de inicio do socio
- Na pantalla de inicio da área de socios, cando faltan datos bancarios obrigatorios, amósase o aviso en vermello no canto do bloque «As túas actividades extraescolares» e da opción «Nova matrícula», cun acceso directo a «Conta / IBAN».
- Cando os datos bancarios están completos, a pantalla de inicio mostra normalmente o resumo de actividades e «Nova matrícula».
v1.47.5
1.47.5 — Datos bancarios obrigatorios para matricular
- Modificación do IBAN: cada campo recupérase do seu sitio real e os baleiros non se mostran. Cando faltan datos bancarios obrigatorios (IBAN, NIF do titular, enderezo, código postal…), amósase un aviso en vermello indicando que é necesario cubrilos.
- Matriculación en extraescolares bloqueada sen datos bancarios completos: un socio cuxa familia non teña unha domiciliación SEPA completa (IBAN + NIF do titular + enderezo + código postal + entidade + autorización) non pode matricular fillos/as en actividades. Amósase un aviso e un acceso directo a «Conta / IBAN» para completalos. A regra aplícase tamén no servidor (non só na interface).
- Nota: os socios migrados por importación de IBAN quedaron sen enderezo/código postal (non se importaron eses datos); agora o sistema pídeos explicitamente antes de permitir matricular.
v1.47.4
1.47.4 — Corrección crítica: erro «Non se puido iniciar a sesión»
- Corrixido un fallo introducido en 1.47.3 que impedía iniciar sesión na área de socios («Non se puido iniciar a sesión. Téntao de novo.»). A consulta do perfil pedía columnas de enderezo/poboación/código postal que non existen na táboa de socios (só están na domiciliación), o que provocaba un erro de base de datos ao crear a sesión.
- Restaurada a consulta correcta do perfil. O inicio de sesión volve funcionar.
- No formulario «Conta / IBAN», o titular segue completándose co nome, apelidos e NIF do socio; o enderezo, poboación e código postal complétanse a partir da domiciliación gardada (que é onde realmente se almacenan).
v1.47.3
1.47.3 — Modificación do IBAN: completa tamén NIF, enderezo e código postal
- Ao abrir Conta / IBAN sen ter aínda domiciliación gardada, o formulario completa agora tamén o NIF/NIE do titular, o enderezo e o código postal cos datos coñecidos do socio (ademais do nome, apelidos e poboación que xa se completaban).
- Eses datos proceden do rexistro do socio (non cifrados). Se xa hai unha domiciliación gardada, seguen prevalecendo os seus datos; o IBAN e o NIF cifrados amósanse enmascarados e reintrodúcense.