diff options
| author | Jeremy Kersten <jke@odoo.com> | 2016-01-29 14:20:00 +0100 |
|---|---|---|
| committer | Jeremy Kersten <jke@odoo.com> | 2016-02-01 12:16:43 +0100 |
| commit | 22c80fff6e98e4529a55f03c9ab2602c3361d2df (patch) | |
| tree | 5eff31ae4c837d419299d63e32c82ddc69cc7266 /addons/web/static/src/js/framework/session_instance.js | |
| parent | 0de35ffa7f0d5c38a4870b283ea492c88201a44f (diff) | |
[FIX] utm: use tracking_fields from utm.mixin and not from the current model
This function cannot be overridden in a model which inherit utm.mixin
Limitation by the heritage on AbstractModel
record_crm_lead.tracking_fields() will call tracking_fields() from module
utm.mixin (if not overridden on crm.lead) instead of the overridden method
from utm.mixin.
To force the call of overridden method, we use
self.pool['utm.mixin'].tracking_fields() which respects overridden
methods of utm.mixin, but will ignore overridden method on crm.lead
Eg:
class utm_mixin(osv.AbstractModel):
_name = 'utm.mixin'
def tracking_fields(self):
return "A"
class utm_mixin_overridden(osv.AbstractModel):
_inherit = 'utm.mixin'
def tracking_fields(self):
return "B"
class crm_lead(osv.osv):
_name = "crm.lead"
_inherit = ['utm.mixin']
def func_1(self):
print self.tracking_fields()
# print "A"
def func_2(self):
print self.pool['utm.mixin'].tracking_fields()
# print "B"
It's the dispatch method of ir_http which save GET parameters in cookies,
ignoring the overridden tracking_fields method in inherited model.
Diffstat (limited to 'addons/web/static/src/js/framework/session_instance.js')
0 files changed, 0 insertions, 0 deletions
