No description
Find a file
Alberto Martinez 4750dab95f Unir fixes de las pruebas (PDF, presupuesto, programa, gastos, almacén, documentos, gafete, nómina)
<!-- CURSOR_AGENT_PR_BODY_BEGIN -->
Unifica los PRs de las pruebas de hoy en una sola rama contra `main`, con el changelog de Liquibase ya reconciliado.

**Incluye**
- #11 ver PDF de proyecto (`doc_id`)
- #12 toast al subir presupuesto que no es Excel
- #13 preview del programa de obra
- #14 ribbon de Control presupuesto (ya venía dentro de #15)
- #15 captura de gastos, proveedores y unidades
- #16 almacén global / abrir-cerrar / catálogo
- #17 documentos sin fecha de emisión ni vencimiento
- #18 gafete: `fn_badge_job_get` + empresa del tenant
- #19 asistencia y faltas L–S en Nómina

**No mergear los PRs sueltos** (#11–#19) si mergeas este: chocan en `changelog-master.xml` porque varios añadieron un changeset `032`. Aquí están todos incluidos con IDs distintos.

**Cómo probar (rápido)**
- Proyecto: abrir un PDF del expediente
- Presupuesto: subir un archivo que no sea Excel y ver el toast
- Programa de obra: importar Excel y ver preview
- Gastos: alta con PrimeVue y reclasificar sin concepto
- Almacén: global + abrir/cerrar obra + catálogo
- Padrón: subir documento sin fechas
- Gafetes: consultar/descargar job y ver el nombre de la empresa
- Nómina → Jornal: columnas L–S para marcar asistencia/falta

Mergea **este** PR. Después se pueden cerrar #11–#19.

<!-- CURSOR_AGENT_PR_BODY_END -->

<div><a href="https://cursor.com/agents/bc-d8a5d34a-ead9-4912-8296-322cff799783?cursor_ref=pr_footer&cursor_cta=open_in_web"><picture><source media="(prefers-color-scheme: dark)" srcset="https://cursor.com/assets/images/open-in-web-dark.png"><source media="(prefers-color-scheme: light)" srcset="https://cursor.com/assets/images/open-in-web-light.png"><img alt="Open in Web" width="114" height="28" src="https://cursor.com/assets/images/open-in-web-dark.png"></picture></a>&nbsp;<a href="https://cursor.com/background-agent?bcId=bc-d8a5d34a-ead9-4912-8296-322cff799783&cursor_ref=pr_footer&cursor_cta=open_in_cursor"><picture><source media="(prefers-color-scheme: dark)" srcset="https://cursor.com/assets/images/open-in-cursor-dark.png"><source media="(prefers-color-scheme: light)" srcset="https://cursor.com/assets/images/open-in-cursor-light.png"><img alt="Open in Cursor" width="131" height="28" src="https://cursor.com/assets/images/open-in-cursor-dark.png"></picture></a>&nbsp;</div>
2026-09-08 21:23:23 +00:00
.github/workflows api: --allow-sys para el SDK de AWS/R2 en Deno 2026-09-03 05:49:14 +00:00
api merge: #18 gafete job y empresa del tenant 2026-09-08 21:13:45 +00:00
db merge: #18 gafete job y empresa del tenant 2026-09-08 21:13:45 +00:00
docs api: ping R2 con ListObjects, no HeadBucket 2026-09-03 05:42:13 +00:00
overlays compose: unir migrate y api a la red coolify 2026-09-03 05:25:53 +00:00
scripts test: validar endpoints y RPCs de gastos, almacén e IAM 2026-09-04 04:17:47 +00:00
tmp/pdfs Nominas 2026-08-25 20:21:49 -05:00
web first commit 2026-08-21 16:55:01 -05:00
web-panel merge: #18 gafete job y empresa del tenant 2026-09-08 21:13:45 +00:00
web-saas refactor(core): migrate core CRUD to PostgreSQL RPC + unified HTTP errors 2026-09-04 02:34:43 +00:00
.dockerignore first commit 2026-08-21 16:55:01 -05:00
.env.example api: compatibilidad S3 con Cloudflare R2 (reemplazo de Contabo) 2026-09-03 04:40:54 +00:00
.gitignore first commit 2026-08-21 16:55:01 -05:00
docker-compose.yml compose: unir migrate y api a la red coolify 2026-09-03 05:25:53 +00:00
Dockerfile.api api: --allow-sys para el SDK de AWS/R2 en Deno 2026-09-03 05:49:14 +00:00
Dockerfile.migrate deploy: Liquibase automático en cada deploy (job migrate) 2026-09-03 04:54:15 +00:00
Dockerfile.provision db/infra: ETL de datos, backups y limpieza de despliegue (fase 5-7) 2026-09-02 21:05:07 +00:00
Dockerfile.web-panel first commit 2026-08-21 16:55:01 -05:00
Dockerfile.web-saas first commit 2026-08-21 16:55:01 -05:00
package.json ops: sacar el overlay local del glob docker-compose*.yml 2026-09-03 05:19:10 +00:00