From aac9971f2b0b7afadc874eca772bf4d2fdf6aa85 Mon Sep 17 00:00:00 2001 From: Claude Agent Date: Fri, 3 Jul 2026 13:24:33 +0000 Subject: [PATCH] fix(web): mesaj onest despre mediul RAR al instantei (Issue A / A1) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Textul din bannerul de import (0 medii) si din antetul formularului de credentiale nu spunea concret ce mediu foloseste instanta curenta. Vechiul "Trimiterea va folosi configuratia globala" era jargon, iar "Pentru a activa Testare sau Productie" nu clarifica relatia instanta<->mediu. - Adauga globalul Jinja `mediu_instanta()` = eticheta umana a ancorei globale AUTOPASS_RAR_ENV (Testare/Productie), fallback sigur pe Testare. - `_upload.html`: bannerul de 0 medii numeste concret mediul global al instantei pe care cad trimiterile pana la activarea unui mediu. - `_cont.html`: nota onesta sub antetul "Credentiale RAR" — instanta ruleaza pe mediul global X, ambele medii se pot configura aici (fiecare validat separat), iar la 0 medii active trimiterile cad pe mediul global al instantei. Fara selector nou si fara schimbari in logica de scriere a credentialelor (A1, aliniat PRD 5.20: instanta = ancora de fallback pentru env). Co-Authored-By: Claude Opus 4.8 (1M context) --- app/web/routes.py | 15 +++++++++++++++ app/web/templates/_cont.html | 7 +++++++ app/web/templates/_upload.html | 7 ++++--- 3 files changed, 26 insertions(+), 3 deletions(-) diff --git a/app/web/routes.py b/app/web/routes.py index 4f4eaa2..8e7f2ff 100644 --- a/app/web/routes.py +++ b/app/web/routes.py @@ -115,6 +115,21 @@ templates = Jinja2Templates(directory=str(Path(__file__).resolve().parent / "tem templates.env.globals["parse_erori"] = parse_erori templates.env.globals["eticheta_env"] = eticheta_env + +def _mediu_instanta() -> str: + """Eticheta umana a mediului GLOBAL al instantei care ruleaza (AUTOPASS_RAR_ENV). + + E ancora de fallback (PRD 5.20): cand un cont nu are niciun mediu RAR configurat, + trimiterile cad pe acest mediu global. Expusa in template-uri ca mesaj onest despre + ce mediu foloseste instanta curenta. Nu arunca niciodata. + """ + env = get_settings().rar_env + return "Productie" if env == "prod" else "Testare" + + +# Expune mediul global al instantei (ancora fallback PRD 5.20) pentru mesaje oneste. +templates.env.globals["mediu_instanta"] = _mediu_instanta + _BLOCKED = ("error", "needs_data", "needs_mapping") diff --git a/app/web/templates/_cont.html b/app/web/templates/_cont.html index 8b24ec3..5e797bb 100644 --- a/app/web/templates/_cont.html +++ b/app/web/templates/_cont.html @@ -116,6 +116,13 @@

Credentiale RAR (portal AUTOPASS)

+

+ Aceasta instanta ruleaza pe mediul global {{ mediu_instanta() }}. + Poti configura mai jos ambele medii — Testare si Productie — fiecare validat separat + la salvare pe sistemul RAR corespunzator. Cand un cont nu are niciun mediu activ, + trimiterile cad pe mediul global al instantei ({{ mediu_instanta() }}). +

+ {% if creds_mesaj %}
{{ creds_mesaj }}
{% endif %} diff --git a/app/web/templates/_upload.html b/app/web/templates/_upload.html index c4c2632..2e2a297 100644 --- a/app/web/templates/_upload.html +++ b/app/web/templates/_upload.html @@ -39,9 +39,10 @@
- Niciun mediu RAR configurat. - Trimiterea va folosi configuratia globala. Pentru a activa Testare sau Productie, - configureaza credentialele RAR. + Niciun mediu RAR configurat pentru acest cont. + Pana activezi un mediu, trimiterile din aceasta instanta folosesc mediul global + {{ mediu_instanta() }}. Configureaza Testare si/sau Productie in + tab-ul Cont.
{% elif medii_rar | length == 1 %} {# Eticheta statica (un singur mediu disponibil) #}