diff --git a/addons/crm/base_partner_merge.py b/addons/crm/base_partner_merge.py index 95ad18f044f..59ffb1845ea 100644 --- a/addons/crm/base_partner_merge.py +++ b/addons/crm/base_partner_merge.py @@ -554,9 +554,12 @@ class MergePartnerAutomatic(osv.TransientModel): 'min_id': min_id, 'aggr_ids': aggr_ids, } - - proxy.create(cr, uid, values, context=context) - counter += 1 + # To ensure that the used partners are accessible by the user + partner_ids = self.pool['res.partner'].search(cr, uid, [('id', 'in', aggr_ids)], context=context) + if len(partner_ids) >= 2: + values['aggr_ids'] = partner_ids + proxy.create(cr, uid, values, context=context) + counter += 1 values = { 'state': 'selection', diff --git a/addons/web/static/lib/qweb/qweb2.js b/addons/web/static/lib/qweb/qweb2.js index 1cfc7bb69ef..b1bf280f516 100644 --- a/addons/web/static/lib/qweb/qweb2.js +++ b/addons/web/static/lib/qweb/qweb2.js @@ -120,12 +120,15 @@ var QWeb2 = { } return r.join(''); } else { + // avoid XMLSerializer with text node for IE + if (node.nodeType == 3) { + return node.data; + } if (typeof XMLSerializer !== 'undefined') { return (new XMLSerializer()).serializeToString(node); } else { switch(node.nodeType) { case 1: return node.outerHTML; - case 3: return node.data; case 4: return ''; case 8: return ''; }