feat(tramites): app "Control de Trámites Legales" + backend
Migración del frontend localStorage a backend autenticado bajo Donna. * SQL 004: tramites_legales (todos los campos por dept en columnas nullable + ENUMs Sí/No), tramites_obs (bitácora N:1), tramites_hours (registro de horas N:1), tramites_seq (contador por departamento). IDs server-side tipo ADM-001 / CRP-001 / MIG-001 / LIT-001 con SELECT FOR UPDATE para atomicidad. * public/tramites/api.php: list/create/update/delete + set_status + add_obs + add_hours. Valida departamento y estatus contra los enums del frontend. Audita creado_por / actualizado_por con el email autenticado. * views/tramites.html: artifact original adaptado. Quitado backup/restore localStorage (mysqldump diario ya hace ese trabajo). Cada mutación va vía fetch con manejo de 401 → redirect a login. Mapeo id<->codigo para preservar el contrato del artifact. * Apps.php: la card "Gestión de Casos" placeholder se reemplaza por "Control de Trámites Legales" en estado live.
This commit is contained in:
+5
-5
@@ -13,12 +13,12 @@ final class Apps {
|
||||
'status' => 'live',
|
||||
],
|
||||
[
|
||||
'slug' => 'casos',
|
||||
'title' => 'Gestión de Casos',
|
||||
'description' => 'Expedientes, plazos procesales y notas de cada asunto.',
|
||||
'slug' => 'tramites',
|
||||
'title' => 'Control de Trámites Legales',
|
||||
'description' => 'Administrativo, corporativo, migración y litigios. Estado, observaciones, horas e historial por trámite.',
|
||||
'icon' => 'briefcase',
|
||||
'href' => '#',
|
||||
'status' => 'coming-soon',
|
||||
'href' => '/tramites/',
|
||||
'status' => 'live',
|
||||
],
|
||||
[
|
||||
'slug' => 'agenda',
|
||||
|
||||
Reference in New Issue
Block a user