This question has been flagged
2 Replies
8426 Views

I'm trying to inherit an Export controller on OpenERP v7.0. I've tried some suggestions found on the web but with no success. Could someone point me to the right direction cuz I can't find a problem with my code.

The code below is within my custom module and it gets loaded during server launch.

import openerp.addons.web.controllers.main as main


class ExportFormatInherited(main.Export):
    _cp_path = "/web/export"

    @main.openerpweb.jsonrequest
    def get_fields(self, req, model, prefix='', parent_name= '',
                   import_compat=True, parent_field_type=None,
                   exclude=None):
        print 'inherited'
        super(ExportFormatInherited, self).get_fields(req, model, prefix,
                                                      parent_name, import_compat,
                                                      parent_field_type, exclude)
Avatar
Discard
Best Answer

Python super() and the MRO !!!

Not seeing what's in your code and in your log, all i can say is:

You should read the following:

Understanding Python’s ‘super’

Python’s super() considered super!

How to use super() effectively -- Python 2.7 version (Python recipe)

Method Resolution Order

Avatar
Discard
Author

I'm pretty sure this problem is due to OpenERP related issue, not Python itself. Although your links are interesting but they are not very useful in this case.

I said "Not seeing what's in your code and in your log". You didn't give any details on, why this code (which seems correct) doesn't work, nor on the errors you get. How could us give you an answer or a help. And I didn't say that this issue is "due" to python itself, but according to the informations given in the above links, it's due to the way super() is used (this is a common pitfall). Now if you are still sure that this is an OpenERP Bug, You should report this at https://bugs.launchpad.net/openerp-web or ask a question at https://answers.launchpad.net/openerp-web/+addquestion.

Author Best Answer

The problem was that there was no static folder within my module. The absence of this folder meant that my module was not treated as "web addon". So I had defined a web controller but it was never registered because it eventually "was not in the web addon". This is tricky and unfortunately under documented. Be careful!

Avatar
Discard

Can you please add your working code as an example? I am stuck trying to inherit class Reports from main.py