T5 (tools/import_dbf.py): citire prestatii_rar.DBF / mapare_prestatii.DBF cu dbfread, raport dry-run (randuri valide/duplicate/goale, mapari orfane = cod necunoscut in nomenclator), --commit cu upsert idempotent in tranzactie. Dashboard: browser nomenclator, indicator stare RAR (indisponibil? derivat din ultimul login < 30h, coada arata ultima stare locala), export audit CSV (/v1/audit/export?status=sent|all&date_from&date_to, b64Image exclus, coloana purge_after pentru retentia 90z). Verify: 11 teste noi (test_import_dbf 6, test_dashboard 5), suita 111 pass, dry-run real pe DBF-urile din repo + smoke live dashboard/CSV. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
17 lines
444 B
HTML
17 lines
444 B
HTML
{% if rows %}
|
|
<table>
|
|
<thead><tr><th>Cod</th><th>Denumire</th><th>Actualizat</th></tr></thead>
|
|
<tbody>
|
|
{% for r in rows %}
|
|
<tr>
|
|
<td><span class="pill">{{ r.cod_prestatie }}</span></td>
|
|
<td>{{ r.nume_prestatie }}</td>
|
|
<td class="muted">{{ r.updated_at }}</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
{% else %}
|
|
<div class="empty">Nomenclator gol. Worker-ul il umple la primul login RAR reusit.</div>
|
|
{% endif %}
|