BUG FIX
* admin.html: el filtro <select id="f-activo"> y el modal <input id="f-activo">
tenían el MISMO id. document.getElementById devolvía el select (primer en
DOM order) y la lectura .checked siempre era undefined → JSON enviaba el
valor stale del select. Renombré el filtro a `f-activo-filter`.
REFACTOR: drop apellido, usar Nombre Completo
* Migración 007: copia apellido→name para placeholders, migra
escrituras_tramites.abogado y tramites_legales.abogado a usar nombre
completo, DROP COLUMN apellido + índice.
* Lookups: abogadoApellidos() → abogadoNames() filtra socios+abogados
activos con name no vacío.
* Auth.php: drop método apellido(), agregado userName().
* tramites/api.php: visibilidad usa users.name = t.abogado.
* admin/api.php: drop apellido en create/update payloads.
* admin.html: drop columna y campo Apellido del table y form.
* Bootstrap envía window.DONNA.abogados con nombres completos.
LANDING (index.php)
* Gear icon en dash-header visible solo si Auth::isSocio() (chequeo
server-side, sin flash de JS).
CLEANUP
* Eliminado logging de debug en admin/api.php que se agregó para
diagnosticar el bug del activo.
PERMISOS (sin cambios — confirmación)
* Trámites Legales: solo socio/abogado pueden crear (canCreate() ya lo
enforza desde 2db8f23).
* Escrituras: cualquier rol autenticado puede crear (escrituras/api.php
nunca tuvo restricción).
27 lines
994 B
SQL
27 lines
994 B
SQL
-- ============================================================
|
|
-- Donna — Schema 007: Eliminar apellido, usar Nombre Completo
|
|
-- ============================================================
|
|
-- Decisión: simplificar el modelo trabajando solo con `name` en lugar de
|
|
-- mantener apellido + name. El dropdown "Abogado Solicitante" muestra el
|
|
-- nombre completo en lugar del apellido suelto.
|
|
|
|
-- 1) Migrar nombres de placeholders desde apellido
|
|
UPDATE users
|
|
SET name = apellido
|
|
WHERE (name = '' OR name = '(Asignar email real)')
|
|
AND apellido != '';
|
|
|
|
-- 2) Migrar tramites a usar el name en lugar del apellido
|
|
UPDATE escrituras_tramites t
|
|
JOIN users u ON u.apellido = t.abogado AND u.apellido != '' AND u.name != ''
|
|
SET t.abogado = u.name;
|
|
|
|
UPDATE tramites_legales t
|
|
JOIN users u ON u.apellido = t.abogado AND u.apellido != '' AND u.name != ''
|
|
SET t.abogado = u.name;
|
|
|
|
-- 3) Drop columna apellido + su índice
|
|
ALTER TABLE users
|
|
DROP INDEX idx_apellido,
|
|
DROP COLUMN apellido;
|