Ir al contenido
Menú
Se marcó esta pregunta
1 Responder
5042 Vistas

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
Descartar
Autor Mejor respuesta
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
Descartar
Publicaciones relacionadas Respuestas Vistas Actividad
4
feb 25
2007
1
ago 24
1830
2
nov 24
2917
3
oct 23
14567
1
jun 23
1951