34 lines
1.8 KiB
Markdown
34 lines
1.8 KiB
Markdown
# Task H.5.3: PDF Template Version Remap + Static Labels
|
|
|
|
## Outcome
|
|
|
|
- created active `1.1` quotation PDF template versions for both `ALLA` and `ONVALLA`
|
|
- retained historical `1.0` versions as inactive records
|
|
- rebuilt active mappings from the current template inventory instead of copying the old version wholesale
|
|
- restored runtime values for `tel_label`, `email_label`, `att_label`, `project_label`, and `site_label`
|
|
|
|
## Field Inventory Result
|
|
|
|
- deleted from previous version: `exclusion_data`, `exclusion_label`
|
|
- new active templates keep dynamic topic bases `topic` and `data_topic`
|
|
- designer-owned static visuals such as `line`, `quotation_date_labe`, and `quotation_code_lable` remain classified but unmapped
|
|
- compatibility tokens `quotation_price` and `currency` remain mapped because the active price table still embeds those placeholders
|
|
|
|
## Seed / Remap Flow
|
|
|
|
- `npm run seed:pdf-template-version` reads the latest JSON from `src/pdfme_template/*.json`
|
|
- if the schema already exists in DB, it re-activates and reconciles mappings idempotently
|
|
- if the schema is new, it creates the next minor version, activates it, and deactivates the previous active version
|
|
- mappings are rebuilt only for fields or tokens still present in that target version
|
|
|
|
## Verification
|
|
|
|
- `npx tsc --noEmit` passed
|
|
- `npm run seed:pdf-template-version` passed
|
|
- `npm run audit:pdf` passed with overall status `PASS`
|
|
|
|
## Remaining Risks
|
|
|
|
- active templates still rely on compatibility tokens `quotation_price` and `currency` inside the table content; those should be removed only in a future controlled template revision
|
|
- the audit fixture now points to active `1.1`; production-approved historical quotations still need operator discipline so their stored template version is never rewritten manually
|