summaryrefslogtreecommitdiff
path: root/odoo/fields.py
diff options
context:
space:
mode:
authorVictor Feyens <vfe@odoo.com>2019-09-12 11:43:09 +0000
committerRaphael Collet <rco@odoo.com>2019-11-18 12:25:05 +0000
commit3455d02189ef8879c8e7f331d159bbd3c1c7b949 (patch)
tree50496f88275b9fc386ada4b24f4080dd3c257ab7 /odoo/fields.py
parentef20d818ea878d23abb27ce86f240277d9d707b4 (diff)
[IMP] base: remove force_company
From now on, if one wants to force following operations to happen in a given company, use with_company(company) or with_company(cid) to update the environment.
Diffstat (limited to 'odoo/fields.py')
-rw-r--r--odoo/fields.py18
1 files changed, 5 insertions, 13 deletions
diff --git a/odoo/fields.py b/odoo/fields.py
index a426649b400..5bde4a71703 100644
--- a/odoo/fields.py
+++ b/odoo/fields.py
@@ -360,7 +360,7 @@ class Field(MetaField('DummyField', (object,), {})):
if not attrs.get('readonly'):
attrs['inverse'] = self._inverse_company_dependent
attrs['search'] = self._search_company_dependent
- attrs['depends_context'] = attrs.get('depends_context', ()) + ('force_company',)
+ attrs['depends_context'] = attrs.get('depends_context', ()) + ('company',)
if attrs.get('translate'):
# by default, translatable fields are context-dependent
attrs['depends_context'] = attrs.get('depends_context', ()) + ('lang',)
@@ -599,22 +599,14 @@ class Field(MetaField('DummyField', (object,), {})):
def _compute_company_dependent(self, records):
# read property as superuser, as the current user may not have access
- context = records.env.context
- if 'force_company' not in context:
- company = records.env.company
- context = dict(context, force_company=company.id)
- Property = records.env(context=context, su=True)['ir.property']
+ Property = records.env['ir.property'].sudo()
values = Property.get_multi(self.name, self.model_name, records.ids)
for record in records:
record[self.name] = values.get(record.id)
def _inverse_company_dependent(self, records):
# update property as superuser, as the current user may not have access
- context = records.env.context
- if 'force_company' not in context:
- company = records.env.company
- context = dict(context, force_company=company.id)
- Property = records.env(context=context, su=True)['ir.property']
+ Property = records.env['ir.property'].sudo()
values = {
record.id: self.convert_to_write(record[self.name], record)
for record in records
@@ -634,8 +626,8 @@ class Field(MetaField('DummyField', (object,), {})):
get_context = env.context.get
def get(key):
- if key == 'force_company':
- return get_context('force_company') or env.company.id
+ if key == 'company':
+ return env.company.id
elif key == 'uid':
return (env.uid, env.su)
elif key == 'active_test':