Skip to content

[FIX] l10n_ar_demo: Fix use documents issue in demo data#810

Open
feg-adhoc wants to merge 1 commit intoingadhoc:16.0from
adhoc-dev:16.0-fix-runbot-demo_data-feg
Open

[FIX] l10n_ar_demo: Fix use documents issue in demo data#810
feg-adhoc wants to merge 1 commit intoingadhoc:16.0from
adhoc-dev:16.0-fix-runbot-demo_data-feg

Conversation

@feg-adhoc
Copy link
Contributor

No description provided.

Copilot AI review requested due to automatic review settings November 26, 2025 16:22
@roboadhoc
Copy link
Contributor

Pull request status dashboard

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Este PR corrige problemas en la carga de datos demo del módulo l10n_ar_demo al agregar journals de retenciones faltantes y mejorar la robustez del hook de carga de datos demo. El problema ocurría porque los journals de retención normalmente se crean automáticamente cuando l10n_ar_account_withholding está instalado durante la aplicación del chart template, pero no se creaban en el escenario de datos demo.

Cambios clave:

  • Agrega journals de retenciones para las tres empresas demo (RI, Exento, Monotributo)
  • Mejora el hook de carga demo con validación de idempotencia y manejo temporal de constraints
  • Renombra parámetro module a module_name para claridad

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 4 comments.

File Description
l10n_ar_demo/demo/account_journal_demo.xml Nuevo archivo que crea journals de retenciones para las empresas demo
l10n_ar_demo/__manifest__.py Referencia el nuevo archivo de datos demo
l10n_ar_demo/__init__.py Mejora el hook de carga con validación de idempotencia, documentación y manejo de constraints
Comments suppressed due to low confidence (1)

l10n_ar_demo/manifest.py:22

  • Se agregan nuevos datos demo (account_journal_demo.xml) y se modifica el código de carga de datos (__init__.py). Según las reglas del proyecto, esto requiere un bump de versión (por ejemplo, de 16.0.1.0.0 a 16.0.1.1.0).
    'version': "16.0.1.0.0",

return

# Desactivar constraints problemáticas temporalmente durante la carga inicial
# Esto es necesario porque los archivos demo de l10n_ar tienen problemas de orden
Copy link

Copilot AI Nov 26, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Acceder directamente al registro (env.registry['account.journal']) para modificar métodos de clase es un patrón frágil. Si el modelo no existe o hay un error tipográfico en el nombre, fallará silenciosamente. Considera agregar validación: if 'account.journal' not in env.registry: _logger.warning('account.journal not found'); return.

Suggested change
# Esto es necesario porque los archivos demo de l10n_ar tienen problemas de orden
# Esto es necesario porque los archivos demo de l10n_ar tienen problemas de orden
if 'account.journal' not in env.registry:
_logger.warning('account.journal not found in registry; skipping demo data load')
return

Copilot uses AI. Check for mistakes.
Comment on lines +45 to +46
orig_check1 = AccountJournal.check_use_document
orig_check2 = AccountJournal._check_afip_configurations
Copy link

Copilot AI Nov 26, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Si check_use_document o _check_afip_configurations no existen como atributos en el modelo, esta asignación fallará con AttributeError. Considera usar getattr(AccountJournal, 'check_use_document', None) para manejar casos donde estos métodos no existan en versiones diferentes del módulo.

Copilot uses AI. Check for mistakes.
finally:
f.close()
for demo_data in info.get('demo', []):
_logger.info('Loading %s', (demo_data))
Copy link

Copilot AI Nov 26, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

El parámetro demo_data está envuelto en una tupla innecesaria (demo_data). Debería ser simplemente demo_data o demo_data, si se pretende una tupla. La sintaxis actual funciona porque los paréntesis no crean tuplas por sí solos.

Suggested change
_logger.info('Loading %s', (demo_data))
_logger.info('Loading %s', demo_data)

Copilot uses AI. Check for mistakes.
Comment on lines +54 to +58
f = tools.file_open(manifest_file, mode='rb')
try:
info = ast.literal_eval(tools.pycompat.to_text(f.read()))
finally:
f.close()
Copy link

Copilot AI Nov 26, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Considera usar context manager (with tools.file_open(...) as f:) en lugar de try/finally manual para manejar el cierre del archivo. Esto es más idiomático en Python y garantiza el cierre incluso si ocurre una excepción durante ast.literal_eval.

Suggested change
f = tools.file_open(manifest_file, mode='rb')
try:
info = ast.literal_eval(tools.pycompat.to_text(f.read()))
finally:
f.close()
with tools.file_open(manifest_file, mode='rb') as f:
info = ast.literal_eval(tools.pycompat.to_text(f.read()))

Copilot uses AI. Check for mistakes.
@feg-adhoc feg-adhoc force-pushed the 16.0-fix-runbot-demo_data-feg branch from 6006676 to c0828b4 Compare November 26, 2025 17:04
@feg-adhoc feg-adhoc force-pushed the 16.0-fix-runbot-demo_data-feg branch from c0828b4 to 8eb07a1 Compare November 28, 2025 13:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants