Closed m1k3lm closed 1 month ago
Hola, Mikel, gracias por la aportación.
Antes de proponerlo a varias versiones, es mejor dejar una correcta y completa, ya que si no, cualquier cambio que se pida, hay que andar propagándolo a todo lo abierto.
En cualquier caso, ambas versiones tienen en rojo tests y pre-commit, y habría que normalizar mensajes de commits y guidelines del código.
¿Puedes por favor echar un vistazo?
Creo que mejor será hacerlo primero para V16, ya que la rama está mucho más completa y nos dará mejor visibilidad sobre el impacto con otros módulos.
Gracias por la aportación @m1k3lm !
@HaraldPanten esta es la rama de la V16, lo envié para ambas porque tarda mucho en ejecutarse el workflow de los tests. Ahora se han cancelado no han llegado a ejecutarse.
Es que hay un problema general en OCA. No sigas intentándolo mientras no se resuelva.
@HaraldPanten esta es la rama de la V16, lo envié para ambas porque tarda mucho en ejecutarse el workflow de los tests. Ahora se han cancelado no han llegado a ejecutarse.
Correcto. Me explico mejor.
Quiero decir que lo mejor es seguir trabajando en esta rama (efectivamente es la 16.0). Una vez fusionado en esta rama, será el mejor momento de hacer el PR en el resto de ramas.
Como dice Pedro, los tests tienen un fallo temporal.
@HaraldPanten @pedrobaeza Los errores que salen son en otros módulos, no en el que estoy añadiendo. He hecho un rebase y varias pruebas. Pero ni tests / test with Odoo (pull_request) ni tests / test with OCB (pull_request) pasan, de manera aparentemente arbitraria a veces indican que ha habido dos errores o uno.
ERROR odoo odoo.schema: Table 'tbai_vat_regime_key': unable to set NOT NULL on column 'type'
ERROR odoo odoo.tests.suite: ERROR: setUpClass (odoo.addons.l10n_es_account_statement_import_n43.tests.test_l10n_es_account_bank_statement_import_n43.L10nEsAccountStatementImportN43)
...
ERROR odoo odoo.modules.loading: Module l10n_es_account_statement_import_n43: 0 failures, 1 errors of 0 tests
¿Alguna idea de cúal puede ser la causa?
Hola @m1k3lm el error de los tests parece que lo está creando tu módulo:
2024-05-22 19:11:03,677 449 ERROR odoo odoo.tests.suite: ERROR: setUpClass (odoo.addons.l10n_es_account_statement_import_n43.tests.test_l10n_es_account_bank_statement_import_n43.L10nEsAccountStatementImportN43)
Traceback (most recent call last):
File "/__w/l10n-spain/l10n-spain/l10n_es_account_statement_import_n43/tests/test_l10n_es_account_bank_statement_import_n43.py", line 43, in setUpClass
cls.journal_01 = cls.env["account.journal"].create(
File "<decorator-gen-207>", line 2, in create
File "/opt/odoo/odoo/api.py", line 414, in _model_create_multi
return create(self, [arg])
File "/opt/odoo/addons/account/models/account_journal.py", line 749, in create
journals = super(AccountJournal, self.with_context(mail_create_nolog=True)).create(vals_list)
File "<decorator-gen-137>", line 2, in create
File "/opt/odoo/odoo/api.py", line 415, in _model_create_multi
return create(self, arg)
File "/opt/odoo/addons/mail/models/mail_thread.py", line 258, in create
threads = super(MailThread, self).create(vals_list)
File "<decorator-gen-124>", line 2, in create
File "/opt/odoo/odoo/api.py", line 415, in _model_create_multi
return create(self, arg)
File "/opt/odoo-venv/lib/python3.10/site-packages/odoo/addons/component_event/models/base.py", line 102, in create
records = super(Base, self).create(vals_list)
File "<decorator-gen-68>", line 2, in create
File "/opt/odoo/odoo/api.py", line 415, in _model_create_multi
return create(self, arg)
File "/opt/odoo/odoo/addons/base/models/ir_fields.py", line 670, in create
recs = super().create(vals_list)
File "<decorator-gen-15>", line 2, in create
File "/opt/odoo/odoo/api.py", line 415, in _model_create_multi
return create(self, arg)
File "/opt/odoo/odoo/models.py", line 4013, in create
records._check_company()
File "/opt/odoo/odoo/models.py", line 3421, in _check_company
corecord = record.sudo()[name]
File "/opt/odoo/odoo/models.py", line 5948, in __getitem__
return self._fields[key].__get__(self, self.env.registry[self._name])
File "/opt/odoo/odoo/fields.py", line 4372, in __get__
return super().__get__(records, owner)
File "/opt/odoo/odoo/fields.py", line 2804, in __get__
return super().__get__(records, owner)
File "/opt/odoo/odoo/fields.py", line 1158, in __get__
self.recompute(record)
File "/opt/odoo/odoo/fields.py", line 1370, in recompute
apply_except_missing(self.compute_value, recs)
File "/opt/odoo/odoo/fields.py", line 1343, in apply_except_missing
func(records)
File "/opt/odoo/odoo/fields.py", line 1392, in compute_value
records._compute_field_value(self)
File "/opt/odoo/addons/mail/models/mail_thread.py", line 403, in _compute_field_value
return super()._compute_field_value(field)
File "/opt/odoo/odoo/models.py", line 4232, in _compute_field_value
fields.determine(field.compute, self)
File "/opt/odoo/odoo/fields.py", line 98, in determine
return needle(*args)
File "/opt/odoo/addons/account/models/account_journal.py", line 357, in _compute_inbound_payment_method_line_ids
journal.inbound_payment_method_line_ids = pay_method_line_ids_commands
File "/opt/odoo/odoo/fields.py", line 1305, in __set__
self.write(protected_records, value)
File "/opt/odoo/odoo/fields.py", line 4267, in write
return self.write_batch([(records, value)])
File "/opt/odoo/odoo/fields.py", line 4288, in write_batch
return self.write_real(records_commands_list, create)
File "/opt/odoo/odoo/fields.py", line 4487, in write_real
flush()
File "/opt/odoo/odoo/fields.py", line 4443, in flush
comodel.create(to_create)
File "<decorator-gen-212>", line 2, in create
File "/opt/odoo/odoo/api.py", line 415, in _model_create_multi
return create(self, arg)
File "/opt/odoo/addons/account/models/account_payment_method.py", line 164, in create
return super().create(vals_list)
File "<decorator-gen-124>", line 2, in create
File "/opt/odoo/odoo/api.py", line 415, in _model_create_multi
return create(self, arg)
File "/opt/odoo-venv/lib/python3.10/site-packages/odoo/addons/component_event/models/base.py", line 102, in create
records = super(Base, self).create(vals_list)
File "<decorator-gen-68>", line 2, in create
File "/opt/odoo/odoo/api.py", line 415, in _model_create_multi
return create(self, arg)
File "/opt/odoo/odoo/addons/base/models/ir_fields.py", line 670, in create
recs = super().create(vals_list)
File "<decorator-gen-15>", line 2, in create
File "/opt/odoo/odoo/api.py", line 415, in _model_create_multi
return create(self, arg)
File "/opt/odoo/odoo/models.py", line 3975, in create
records = self._create(data_list)
File "/opt/odoo/odoo/models.py", line 4227, in _create
records._validate_fields(name for data in data_list for name in data['stored'])
File "/opt/odoo/odoo/models.py", line 1359, in _validate_fields
check(self)
File "/opt/odoo/addons/account/models/account_payment_method.py", line 131, in _ensure_unique_name_for_journal
self.journal_id._check_payment_method_line_ids_multiplicity()
File "/opt/odoo/addons/account/models/account_journal.py", line 552, in _check_payment_method_line_ids_multiplicity
raise ValidationError(_(
odoo.exceptions.ValidationError: Some payment methods supposed to be unique already exists somewhere else.
([sequra] seQura (inbound))
Fíjate que habla de que el método de pago sequra
no es único.
Gracias @pedrobaeza,
He probado a eliminar el post_init_hook del manifest y se ve que así ya pasa el test.
El problema es que el módulo necesita el post_init_hook para ejecutar el setup_provider como lo hacen el resto de métodos de pago en odoo: https://github.com/odoo/odoo/blob/9c8265f588b0de3d4076e9ccaf53fe15084527a9/addons/payment_mollie/__manifest__.py#L20 https://github.com/odoo/odoo/blob/9c8265f588b0de3d4076e9ccaf53fe15084527a9/addons/payment_mollie/__init__.py#L10
(en payment_redsys no se usa el ini_hook y por eso necesitan extender el modelo account_payment_method )
El test no debería provocar que se instale multiples veces el módulo y se ejecute el post_ini_hook sin hacer un uninstall antes ¿no?
Buenas, Mikel, he estado echando un vistazo, pero la verdad es que no veo la razón. Puede que te falte por sobreescribir algún método que evite una duplicación o algo, pero no debería fallar como tú dices. ¿En local ejecutas los tests y no te sale el error? Tal vez hay una mala interacción con https://github.com/OCA/l10n-spain/tree/16.0/l10n_es_account_banking_sepa_fsdd. Prueba a instalar ambos en local a ver si te da el problema y seguimos tirando del hilo.
There hasn't been any activity on this pull request in the past 4 months, so it has been marked as stale and it will be closed automatically if no further activity occurs in the next 30 days. If you want this PR to never become stale, please ask a PSC member to apply the "no stale" label.
This PR adds the seQura payment method as payment provider.