diff --git a/addons/web_editor/models/ir_qweb.py b/addons/web_editor/models/ir_qweb.py index a9bb7f7fd21..233de1e254b 100644 --- a/addons/web_editor/models/ir_qweb.py +++ b/addons/web_editor/models/ir_qweb.py @@ -10,7 +10,6 @@ Also, adds methods to convert values back to Odoo models. import ast import cStringIO -import datetime import itertools import json import logging @@ -158,10 +157,12 @@ class Contact(models.AbstractModel): # helper to call the rendering of contact field @api.model def get_record_to_html(self, ids, options=None): - node = self.record_to_html('record', { - 'record': self.env['res.partner'].browse(ids[0])}, - options=options) - return node and node.__html__() + node = self.record_to_html( + self.env['res.partner'].browse(ids[0]), + 'self', + options=options, + ) + return node class Date(models.AbstractModel): diff --git a/addons/website_partner/models/res_partner.py b/addons/website_partner/models/res_partner.py index 0c2b23dc971..2587472a026 100644 --- a/addons/website_partner/models/res_partner.py +++ b/addons/website_partner/models/res_partner.py @@ -10,12 +10,6 @@ class WebsiteResPartner(models.Model): website_description = fields.Html('Website Partner Full Description', strip_style=True) website_short_description = fields.Text('Website Partner Short Description') - # hack to allow using plain browse record in qweb views - self = fields.Many2one(comodel_name=_name, compute='_compute_get_ids') - - @api.one - def _compute_get_ids(self): - self.self = self.id @api.multi def _compute_website_url(self): diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index eff25e87da2..dc255ac195a 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -220,6 +220,8 @@ class Partner(models.Model, FormatAddress): help="Small-sized image of this contact. It is automatically "\ "resized as a 64x64px image, with aspect ratio preserved. "\ "Use this field anywhere a small image is required.") + # hack to allow using plain browse record in qweb views, and used in ir.qweb.field.contact + self = fields.Many2one(comodel_name=_name, compute='_compute_get_ids') _sql_constraints = [ ('check_name', "CHECK( (type='contact' AND name IS NOT NULL) or (type!='contact') )", 'Contacts require a name.'), @@ -242,6 +244,10 @@ class Partner(models.Model, FormatAddress): for partner in self: partner.contact_address = partner._display_address() + @api.one + def _compute_get_ids(self): + self.self = self.id + @api.depends('is_company', 'parent_id.commercial_partner_id') def _compute_commercial_partner(self): for partner in self: