Skip to Content
Menu
This question has been flagged
1 Reply
3589 Views

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
Discard
Author Best Answer
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
Discard
Related Posts Replies Views Activity
1
Aug 24
421
2
Nov 24
751
3
Oct 23
13195
1
Jun 23
1231
2
Feb 23
1229