Afegeix un helper per consultar els preus mitjans mensuals

Merged
PA
2h ago
+216-0

Objectiu

Exposar els valors de som.last.month.average.price amb un helper públic de Webforms, reutilitzant la consulta existent del model.

Targeta on es demana o Incidència

Petició directa de l’usuari; sense targeta o incidència associada.

Comportament antic

El model disposava de get_current_price, utilitzat pel simulador, però no hi havia un helper Webforms específic amb validació de paràmetres i una resposta estable sense IDs interns.

Comportament nou

Nou mètode sobre giscedata.polissa.tarifa:

get_last_month_average_prices_www(cursor, uid, tariff, price_type, context=None)
  • Accepta les tarifes 2.0TD i 3.0TD i els tipus index i ssaa.
  • Retorna tariff, type, date i prices amb els sis períodes P1–P6, inclosos els zeros. Cada període conté {"value": 0.123456, "uom": "€/kWh"}; la unitat és sempre €/kWh, coherent amb els camps mostrats a la vista.
  • Retorna els valors emmagatzemats en €/kWh, sense afegir impostos ni arrodonir-los i sense exposar l’ID intern.
  • Reutilitza get_current_price, preservant l’usuari i el context. Manté la selecció per date desc, id desc: no filtra estrictament pel mes anterior ni exclou dates futures.
  • Els errors segueixen el format dels helpers existents: error, error_code i trace.
  • No modifica camps, permisos, XML ni el comportament del simulador.

Comprovacions

  • Hi ha testos
  • Reiniciar serveis — necessari per carregar el codi Python nou.
  • Actualitzar mòdul — no cal; no hi ha canvis de camps ni recursos.
  • Script de migració — no cal.
  • Modifica traduccions — no.

Resultats locals

  • 9/9 tests nous correctes amb Destral i el wrapper segur de worktrees, incloses consultes reals a l’ORM, les quatre combinacions tarifa/tipus, selecció per data i ID, sis preus diferents amb comprovacions explícites de P1 a P6 i de la unitat €/kWh, zeros, validació i errors.
  • 52/53 tests del mòdul correctes. L’única fallada és preexistent: OOBaseTests.test_translate_modules informa Module som_webforms_helpers has no translations; el mòdul ja no té carpeta i18n a la base. No s’han afegit traduccions fora de l’abast.
  • flake8 som_webforms_helpers: correcte.
  • Tots els hooks de pre-commit run: correctes, inclosos flake8 i pylint de compatibilitat Python 3.
  • Sintaxi comprovada amb Python 2.7 i Python 3.
  • git diff --check: correcte.
  • flake8 .: falla amb 4.658 línies de diagnòstics fora de som_webforms_helpers; no s’han modificat els fitxers afectats.

Comanda de la suite completa:

WORKSPACE=/home/pau/src PYENV_VERSION=erp pyenv exec \
  scripts/run-tests-worktree.sh --addon som_webforms_helpers -- \
  --no-requirements -m som_webforms_helpers

Entorn preparat amb el perfil de dependències compartides i l’excepció puntual autoritzada --branch OMIE=master, perquè el remote configurat d’OMIE no té tags. Aquesta excepció no modifica el perfil versionat ni forma part del diff de la PR.

RetriggerView in GreptileConfidence Score: 5/5

La PR sembla segura per integrar; no s’han identificat problemes que ho impedeixin.

Summary

La PR afegeix get_last_month_average_prices_www per consultar els preus mitjans des de Webforms.

  • Webforms callers can request the latest stored average prices for a tariff.

Reviews (3) · Last reviewed commit: "✨ include units in monthly average price..." · Reviewed by Greptile