{# Macro-uri partajate intre template-urile de import si mapari. #} {# US-002 (PRD 5.11): autosend_toggle neutralizat — auto_send nu mai tine randuri (US-001). Simbolul pastrat (apelat in _mapari.html, _preview_import.html, _trimitere_detaliu.html) dar intoarce string gol. Coloanele DB raman (default 1, ne-citite pentru hold). #} {% macro autosend_toggle(form_id='', checked=True, label='') -%}{%- endmacro %} {# US-005 (PRD 5.12): macro `camp` partajat — extras din _trimitere_detaliu.html si _preview_rand.html. Suporta tip='date' (calendar nativ, D#10/R3) si tip='text' (default). Parametri: nome — name="" al input-ului (si cheie in err_map/fix_map) eticheta — text pentru label valoare — valoarea curenta (pre-fill) tip — type="" al input-ului: 'text' (default) sau 'date' (calendar nativ) err_map — dict {field_name: mesaj_eroare}; default {} fix_map — dict {field_name: hint_fix}; default {} vin_context — string VIN pentru aria-label cu context (default '') id_prefix — prefix pentru id="" al input-ului (default 'c'; preview poate folosi 'e-N') #} {% macro camp(nome, eticheta, valoare, tip='text', err_map={}, fix_map={}, vin_context='', id_prefix='c') %}
{% if tip == 'date' %} {# D#10/R3: degradare grijulie pentru valori ne-YYYY-MM-DD. Daca valoarea nu e in formatul corect, inputul ramane gol + hint + hidden cu valoarea bruta (ca sa nu se piarda tacut la submit). #} {%- set _dp_ok = (valoare and valoare|length == 10 and valoare[4:5] == '-' and valoare[7:8] == '-') -%} {% if not _dp_ok and valoare %} Valoarea originala: {{ valoare }} {% endif %} {% else %} {% endif %} {% if err_map.get(nome) %}
{{ err_map.get(nome) }}
{% endif %} {% if fix_map.get(nome) %} {{ fix_map.get(nome) }} {% endif %}
{% endmacro %}