Browse Source

[RFR] use v8 api for context adjustments

pull/200/head
Holger Brunn 9 years ago
parent
commit
356115bf09
  1. 31
      partner_relations/model/res_partner.py

31
partner_relations/model/res_partner.py

@ -78,7 +78,8 @@ class ResPartner(models.Model):
if context is None: if context is None:
context = {} context = {}
relation_obj = self.pool.get('res.partner.relation') relation_obj = self.pool.get('res.partner.relation')
context2 = self._update_context(context, ids)
context2 = self.with_partner_relations_context(
cr, uid, ids, context=context).env.context
for value in field_value: for value in field_value:
if value[0] == 0: if value[0] == 0:
relation_obj.create(cr, uid, value[2], context=context2) relation_obj.create(cr, uid, value[2], context=context2)
@ -300,20 +301,18 @@ class ResPartner(models.Model):
@api.multi @api.multi
def read(self, fields=None, load='_classic_read'): def read(self, fields=None, load='_classic_read'):
self.env.context = self._update_context(
self.env.context, [r.id for r in self])
return super(ResPartner, self).read(fields=fields, load=load)
return super(ResPartner, self.with_partner_relations_context())\
.read(fields=fields, load=load)
def write(self, cr, uid, ids, vals, context=None):
return super(ResPartner, self).write(
cr, uid, ids, vals, context=self._update_context(context, ids))
@api.multi
def write(self, vals):
return super(ResPartner, self.with_partner_relations_context())\
.write(vals)
def _update_context(self, context, ids):
if context is None:
context = {}
ids = ids if isinstance(ids, list) else [ids] if ids else []
result = context.copy()
result.setdefault('active_id', ids[0] if ids else None)
result.setdefault('active_ids', ids)
result.setdefault('active_model', self._name)
return result
@api.multi
def with_partner_relations_context(self):
context = dict(self.env.context)
context.setdefault('active_id', self.ids[0] if self.ids else None)
context.setdefault('active_ids', self.ids)
context.setdefault('active_model', self._name)
return self.with_context(context)
Loading…
Cancel
Save