Odoo Help


Why can I update localcontext in a report parser if it is not even define?

Pascal Tremblay
on 2/16/16, 10:58 AM 717 views

Hello all,

We are in the the class Overdue in the file odoo-8.0-20151003/openerp/addons/account/report/account_print_overdue.py

At this place, the line is written :


How could we update update this localcontext variable if it is not defined there in the class?

Is it an inherited variable? Where is this variable localcontext defined?


Axel Mendoza
On 2/16/16, 11:36 AM


Because every class that inherit from rml_parse, it's inheriting the __init__ method too, and if that class does not override the __init__ method it will be called or also like the case of Overdue class it's calling the super

super(Overdue, self).__init__(cr, uid, name, context=context)

The __init__ method of the rml_parse creates the localecontext with this code:

self.localcontext = {

'user': user,

'setCompany': self.setCompany,

'repeatIn': self.repeatIn,

'setLang': self.setLang,

'setTag': self.setTag,

'removeParentNode': self.removeParentNode,

'format': self.format,

'formatLang': self.formatLang,

'lang' : user.company_id.partner_id.lang,

'translate' : self._translate,

'setHtmlImage' : self.set_html_image,

'strip_name' : self._strip_name,

'time' : time,

'display_address': self.display_address,

# more context members are setup in setCompany() below:

# - company_id

# - logo


So after the super call, self.localcontext exist. The rml_parse class it's defined in your /openerp/report/report_sxw.py file

That's great. Big thanks mister.

Pascal Tremblay
on 2/16/16, 2:26 PM

About This Community

This platform is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.


Odoo Training Center

Access to our E-learning platform and experience all Odoo Apps through learning videos, exercises and Quizz.

Test it now

Question tools

2 follower(s)


Asked: 2/16/16, 10:58 AM
Seen: 717 times
Last updated: 2/16/16, 2:26 PM