diff --git a/TODOS.md b/TODOS.md index 6da0e97..50745c6 100644 --- a/TODOS.md +++ b/TODOS.md @@ -53,3 +53,26 @@ Elemente deferate din review-uri. Negrupte de un PRD curent; de promovat cand de - [ ] **US-009/US-010 ca PRD separat daca propagarea design e urgenta** — salvarea mapare-din-chip si bulk-fix sunt adiacente FUNCTIONALE (acceptate via SELECTIVE EXPANSION), dincolo de obiectivul pur de propagare design. Daca vrei sa livrezi designul rapid, pot fi scoase intr-un PRD propriu. (CEO, low.) + +## Din raport comparatie mockup 5.16 (2026-06-29) + +> Restul task-urilor din `docs/raport-comparatie-mockup-5.16.md` au fost livrate (T-1..T-9). +> Cele de mai jos raman explicit in coada la cererea userului. + +- [ ] **Stare de eroare HTMX la incarcarea listei (D-4)** — cand `/_fragments/submissions` + da 500 sau pica reteaua, `#submissions-wrap` ramane blocat pe spinner ("se incarca…") fara + mesaj. De adaugat un partial de eroare / `hx-on::response-error` cu "nu s-a putut incarca, + reincearca". Robustete pre-existenta (nu introdusa de 5.16), impact functional real — + **candidatul cu cea mai mare valoare** din lista. (Design D-4, medium.) + +- [ ] **Retokenizare px completa in template-uri** — `_submissions.html` / `_preview_*` folosesc + literali `font-size:13px/12px/11px` in loc de token-urile `--fs-*`. 5.16 a corectat doar + instanta sub-12px (incalca pragul PRD). Restul ramane debt: schimbarea in masa (13px→`--fs-sm` + =13.5px) misca layout-ul, deci necesita o baza de regresie vizuala inainte. (Eng, bounded — + amanat ca scope creep fara baza AC.) + +- [ ] **Diacritice in textul vizibil pentru user** — mockup-urile folosesc diacritice complete + ("Observații", "Salvează", "Adaugă"); aplicatia le omite in majoritatea label-urilor. Fontul + le randeaza corect (US-001 confirmat). De aplicat pe label-uri/butoane/titluri, pastrand + cod/comentariile fara diacritice. Decizie initiala (poarta de gust T3): nu se aplica acum — + reintrodus in coada la cererea userului (2026-06-29) ca finisaj viitor. (Transversal, low.) diff --git a/app/db.py b/app/db.py index b3b52b5..2327b08 100644 --- a/app/db.py +++ b/app/db.py @@ -39,10 +39,19 @@ def init_db() -> None: seed_nomenclator_if_empty(conn) # Seed corpus operatii etichetate -> mapping_suggestions (SILVER, PRD 5.18 US-004). # Gated: OFF in teste (conftest), ON in productie. INSERT OR IGNORE -> idempotent. + # DOAR daca mapping_suggestions e gol: seedul are ~17k randuri; re-rularea lui pe + # FIECARE boot (API + worker concurent) tinea write-lock-ul indelung -> al doilea + # proces primea "database is locked" la pornire. Guard "_if_empty" (ca nomenclatorul) + # -> boot rapid cand e deja seeded. Re-seed dupa actualizarea fisierului = manual + # (goleste tabela), consistent cu semantica v1 ignore-not-upsert a seederului. if get_settings().seed_operatii_enabled: - from .operatii_seed import seed_operatii_etichetate + already = conn.execute( + "SELECT 1 FROM mapping_suggestions LIMIT 1" + ).fetchone() + if not already: + from .operatii_seed import seed_operatii_etichetate - seed_operatii_etichetate(conn) + seed_operatii_etichetate(conn) conn.commit() finally: conn.close() diff --git a/app/web/templates/_chips_prestatii.html b/app/web/templates/_chips_prestatii.html index 5830447..728fca8 100644 --- a/app/web/templates/_chips_prestatii.html +++ b/app/web/templates/_chips_prestatii.html @@ -118,10 +118,13 @@ {% endfor %} {# ===== US-005 (5.16): Chips extra + picker '+ Adauga alta operatie / cod RAR' in mod operatii ===== #} - {# Chips extra: cod_op_service gol, cod_prestatie setat — afisate flat cu × (reuse remove_flat) #} + {# Chips extra: cod_op_service gol, cod_prestatie setat — afisate flat cu × (reuse remove_flat). + T-7 (5.16): containerul .chips se randeaza DOAR cand exista chips extra — altfel ramanea + un chenar gol nefinisat sub randurile de operatie. #} + {% set _extra_chips = _chips | rejectattr('cod_op_service') | selectattr('cod_prestatie') | list %} + {% if _extra_chips %}
- {% for chip in _chips %} - {% if not chip.cod_op_service and chip.cod_prestatie %} + {% for chip in _extra_chips %} {% set _is_warn_extra = chip.cod_prestatie in ('R-ODO', 'I-ODO') %} @@ -134,9 +137,9 @@ hx-vals='{"chips_action":"remove_flat","chips_remove_cod":"{{ chip.cod_prestatie }}"}' aria-label="Sterge codul suplimentar {{ chip.cod_prestatie }}">× - {% endif %} {% endfor %}
+ {% endif %} {% if nomenclator_rar %}