summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--odoo/addons/test_new_api/tests/test_new_fields.py6
-rw-r--r--odoo/fields.py2
2 files changed, 7 insertions, 1 deletions
diff --git a/odoo/addons/test_new_api/tests/test_new_fields.py b/odoo/addons/test_new_api/tests/test_new_fields.py
index 45a7f8a4c35..652ae349ae0 100644
--- a/odoo/addons/test_new_api/tests/test_new_fields.py
+++ b/odoo/addons/test_new_api/tests/test_new_fields.py
@@ -1374,6 +1374,12 @@ class TestFields(TransactionCaseWithUserDemo):
self.assertEqual(attribute_record.company.foo, 'DEF')
self.assertEqual(attribute_record.bar, 'DEFDEF')
+ # a low priviledge user should be able to search on company_dependent fields
+ company_record.env.user.groups_id -= self.env.ref('base.group_system')
+ self.assertFalse(company_record.env.user.has_group('base.group_system'))
+ company_records = self.env['test_new_api.company'].search([('foo', '=', 'DEF')])
+ self.assertEqual(len(company_records), 1)
+
def test_30_read(self):
""" test computed fields as returned by read(). """
discussion = self.env.ref('test_new_api.discussion_0')
diff --git a/odoo/fields.py b/odoo/fields.py
index b936d6c83fd..935dccf26a5 100644
--- a/odoo/fields.py
+++ b/odoo/fields.py
@@ -607,7 +607,7 @@ class Field(MetaField('DummyField', (object,), {})):
Property._set_multi(self.name, self.model_name, values)
def _search_company_dependent(self, records, operator, value):
- Property = records.env['ir.property']
+ Property = records.env['ir.property'].sudo()
return Property.search_multi(self.name, self.model_name, operator, value)
#