Pular para o conteúdo
Menu
Esta pergunta foi sinalizada
1 Responder
5052 Visualizações

I'm struggling with simple on first look issue. I'm trying to override set of required fields at billing address form of eCommerce addon.

For that I've created custom addon (with scaffold command) and trying to override method  _get_mandatory_billing_fields of WebsiteSale class.

Here is my only changes to myaddon/controllers/controllers.py, rest of the addon content is what I've got with scaffolding

from addons.website_sale.controllers.main import WebsiteSale
class WebsiteSaleInherit(WebsiteSale)
    def _get_mandatory_billing_fields(self):

    return ["name","email"]

Looks quite logic, but when I'm trying to install this module I'm getting error in WebsiteSale class code

Traceback (most recent call last):
  File "C:\\development\\odoo\\odoo\\service\\server.py", line 1198, in preload_registries
    registry = Registry.new(dbname, update_module=update_module)
  File "C:\\development\\odoo\\odoo\\modules\\registry.py", line 89, in new
    odoo.modules.load_modules(registry._db, force_demo, status, update_module)
  File "C:\\development\\odoo\\odoo\\modules\\loading.py", line 449, in load_modules
    processed_modules += load_marked_modules(cr, graph,
  File "C:\\development\\odoo\\odoo\\modules\\loading.py", line 346, in load_marked_modules
    loaded, processed = load_module_graph(
  File "C:\\development\\odoo\\odoo\\modules\\loading.py", line 178, in load_module_graph
    load_openerp_module(package.name)
  File "C:\\development\\odoo\\odoo\\modules\\module.py", line 358, in load_openerp_module
    __import__('odoo.addons.' + module_name)
  File "c:\\development\\odoo\\addons\\1test-addon\\__init__.py", line 3, in <module>
    from . import controllers
  File "c:\\development\\odoo\\addons\\1test-addon\\controllers\\__init__.py", line 3, in <module>
    from . import controllers
  File "c:\\development\\odoo\\addons\\1test-addon\\controllers\\controllers.py", line 3, in <module>
    from addons.website_sale.controllers.main import WebsiteSale
  File "C:\\development\\odoo\\addons\\website_sale\\__init__.py", line 5, in <module>
    from . import models
  File "C:\\development\\odoo\\addons\\website_sale\\models\\__init__.py", line 4, in <module>
    from . import account_move
  File "C:\\development\\odoo\\addons\\website_sale\\models\\account_move.py", line 7, in <module>
    class AccountMove(models.Model):
  File "C:\\development\\odoo\\odoo\\models.py", line 167, in __init__
    assert self.__module__.startswith('odoo.addons.'), \\
AssertionError: Invalid import of addons.website_sale.models.account_move.AccountMove, it should start with 'odoo.addons'.

Looks like I do some mistake during inheritance. Any hint where to dig to solve this will be very appreciated!

Avatar
Cancelar
Autor Melhor resposta
WRONG
from addons.website_sale.controllers.main import WebsiteSale

RIGHT
from odoo.addons.website_sale.controllers.main import WebsiteSale

I will answer myself 

That was just a stupid error in import, see snippet above.


Avatar
Cancelar
Publicações relacionadas Respostas Visualizações Atividade
4
fev. 25
2030
1
ago. 24
1862
2
nov. 24
2946
3
out. 23
14585
1
jun. 23
1967