fix(ux): mesaje mediu RAR mai clare + referinta corecta 'Meniu cont › Cont'

Banner upload compact/directiv (fara 'mediu global' derutant), text Cont
onest (importul web fara mediu activ nu are creds -> esueaza), si aliniere
referinta navigare la 'Meniu cont › Cont' in erori/integrare (nu exista
'tab-ul Cont' in UI).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Claude Agent
2026-07-06 12:45:16 +00:00
parent 39d2ba3dd0
commit fa52468a80
6 changed files with 21 additions and 13 deletions

View File

@@ -114,7 +114,7 @@ CATALOG: dict[str, dict[str, str]] = {
"RAR_CREDS_INVALIDE": { "RAR_CREDS_INVALIDE": {
"problema": "Credentiale RAR invalide", "problema": "Credentiale RAR invalide",
"fix": ( "fix": (
"Verifica email-ul si parola contului RAR in tab-ul Cont;" "Verifica email-ul si parola contului RAR in Meniu cont Cont;"
" trimiterea nu se reincearca automat la credentiale gresite." " trimiterea nu se reincearca automat la credentiale gresite."
), ),
}, },
@@ -124,6 +124,13 @@ CATALOG: dict[str, dict[str, str]] = {
"Imparte fisierul in bucati de maxim 5000 de randuri si incarca-le pe rand." "Imparte fisierul in bucati de maxim 5000 de randuri si incarca-le pe rand."
), ),
}, },
"CERERE_PREA_MARE": {
"problema": "Corpul cererii depaseste limita permisa",
"fix": (
"Trimite o cerere mai mica (imparte fisierul/lista in bucati mai mici"
" si retrimite)."
),
},
"IMPORT_ANTET_NECLAR": { "IMPORT_ANTET_NECLAR": {
"problema": "Antet de coloane neclar", "problema": "Antet de coloane neclar",
"fix": ( "fix": (
@@ -197,7 +204,7 @@ CATALOG: dict[str, dict[str, str]] = {
"RAR_MEDIU_INDISPONIBIL": { "RAR_MEDIU_INDISPONIBIL": {
"problema": "Mediul RAR cerut nu e disponibil", "problema": "Mediul RAR cerut nu e disponibil",
"fix": ( "fix": (
"Activeaza mediul si introdu credentialele RAR in tab-ul Cont." "Activeaza mediul si introdu credentialele RAR in Meniu cont Cont."
" Mediile disponibile acum sunt in campul cauza." " Mediile disponibile acum sunt in campul cauza."
), ),
}, },

View File

@@ -29,7 +29,7 @@ def _payload_prezentari_dict(account_id: int) -> dict:
omise pentru concizie — nu sunt obligatorii. omise pentru concizie — nu sunt obligatorii.
`rar_credentials` NU e inclus: cererea trimite doar cheia API + datele prezentarii, `rar_credentials` NU e inclus: cererea trimite doar cheia API + datele prezentarii,
iar worker-ul foloseste credentialele RAR salvate pe cont (tab-ul Cont). Trimiterea iar worker-ul foloseste credentialele RAR salvate pe cont (Meniu cont Cont). Trimiterea
lor in payload e optionala (suprascrie creds-urile contului pe acea cerere). lor in payload e optionala (suprascrie creds-urile contului pe acea cerere).
""" """
# Construim un dict cu toate campurile obligatorii # Construim un dict cu toate campurile obligatorii

View File

@@ -117,10 +117,12 @@
<h3 style="font-size:13px; color:var(--muted); font-weight:500; margin:0 0 12px; text-transform:uppercase; letter-spacing:.04em;">Credentiale RAR (portal AUTOPASS)</h3> <h3 style="font-size:13px; color:var(--muted); font-weight:500; margin:0 0 12px; text-transform:uppercase; letter-spacing:.04em;">Credentiale RAR (portal AUTOPASS)</h3>
<p class="muted" style="font-size:12px; margin:0 0 12px; line-height:1.5;"> <p class="muted" style="font-size:12px; margin:0 0 12px; line-height:1.5;">
Aceasta instanta ruleaza pe mediul global <strong>{{ mediu_instanta() }}</strong>. Configureaza mai jos mediile RAR — Testare si/sau Productie — fiecare cu credentialele
Poti configura mai jos ambele medii — Testare si Productie — fiecare validat separat lui, validate separat la salvare pe sistemul RAR corespunzator. Un mediu devine activ
la salvare pe sistemul RAR corespunzator. Cand un cont nu are niciun mediu activ, cand e bifat si are credentiale; abia atunci importul web poate trimite pe el. Fara
trimiterile cad pe mediul global al instantei ({{ mediu_instanta() }}). niciun mediu activ, importul web nu are credentiale si trimiterile esueaza. (Canalul API
ramane pe mediul global al instantei, {{ mediu_instanta() }}, pentru ca isi cara singur
credentialele.)
</p> </p>
{% if creds_mesaj %} {% if creds_mesaj %}

View File

@@ -14,7 +14,7 @@
{% else %} {% else %}
Lipseste o cheie API activa. Lipseste o cheie API activa.
{% endif %} {% endif %}
Mergi la <a href="/?tab=cont">tab-ul Cont</a> pentru a le configura. Mergi la <a href="/?tab=cont">Meniu cont &rsaquo; Cont</a> pentru a le configura.
</div> </div>
{% endif %} {% endif %}

View File

@@ -39,10 +39,9 @@
<div style="margin-bottom:10px; padding:8px 14px; border-radius:6px; <div style="margin-bottom:10px; padding:8px 14px; border-radius:6px;
background:color-mix(in srgb, var(--warn, #e6b34a) 12%, var(--card)); background:color-mix(in srgb, var(--warn, #e6b34a) 12%, var(--card));
border:1px solid var(--warn, #e6b34a); font-size:13px;" role="note"> border:1px solid var(--warn, #e6b34a); font-size:13px;" role="note">
<strong>Niciun mediu RAR configurat pentru acest cont.</strong> <strong>Niciun mediu RAR activ.</strong>
Pana activezi un mediu, trimiterile din aceasta instanta folosesc mediul global Activeaza mediul de Productie sau Testare in
<strong>{{ mediu_instanta() }}</strong>. Configureaza Testare si/sau Productie in <a href="?tab=cont" style="color:var(--accent);">Meniu cont &rsaquo; Cont</a>.
<a href="?tab=cont" style="color:var(--accent);">tab-ul Cont</a>.
</div> </div>
{% elif medii_rar | length == 1 %} {% elif medii_rar | length == 1 %}
{# Eticheta statica (un singur mediu disponibil) #} {# Eticheta statica (un singur mediu disponibil) #}

View File

@@ -65,7 +65,7 @@ def test_parse_erori_creds():
"cod": "RAR_CREDS_INVALIDE", "cod": "RAR_CREDS_INVALIDE",
"problema": "Credentiale RAR invalide", "problema": "Credentiale RAR invalide",
"cauza": "Autentificarea la RAR a esuat (401).", "cauza": "Autentificarea la RAR a esuat (401).",
"fix": "Verifica email-ul si parola contului RAR in tab-ul Cont.", "fix": "Verifica email-ul si parola contului RAR in Meniu cont Cont.",
}) })
rezultat = parse_erori(rar_error) rezultat = parse_erori(rar_error)
assert len(rezultat) == 1 assert len(rezultat) == 1