diff options
| author | Xavier-Do <xdo@odoo.com> | 2019-04-01 14:06:24 +0000 |
|---|---|---|
| committer | Xavier-Do <xdo@odoo.com> | 2019-04-02 15:39:30 +0000 |
| commit | b5c20041604623a87dfb83a3da0b0bdfd8b3c8d8 (patch) | |
| tree | fbb0798911750741685ec2d598f483ac579245c0 /odoo/addons/test_access_rights | |
| parent | edef08eeee688912040839dd073c1852b2d5219f (diff) | |
[IMP] core: avoid to check access rules on empty recordset
Checking access rules only makes sence if we have some records,
_filter_access_rules will always return a subset or current
recordset, and a subset or a empty recordset is an empty recordset.
closes odoo/odoo#32313
Signed-off-by: Raphael Collet (rco) <rco@openerp.com>
Diffstat (limited to 'odoo/addons/test_access_rights')
| -rw-r--r-- | odoo/addons/test_access_rights/tests/test_ir_rules.py | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/odoo/addons/test_access_rights/tests/test_ir_rules.py b/odoo/addons/test_access_rights/tests/test_ir_rules.py index 6724bdbf1e4..9cb2f3ebda2 100644 --- a/odoo/addons/test_access_rights/tests/test_ir_rules.py +++ b/odoo/addons/test_access_rights/tests/test_ir_rules.py @@ -76,3 +76,9 @@ class TestRules(TransactionCase): container_user.write({'some_ids': [(5,)]}) self.assertItemsEqual(container_user.some_ids.ids, []) self.assertItemsEqual(container_admin.some_ids.ids, [self.id2]) + + def test_access_rule_performance(self): + env = self.env(user=self.browse_ref('base.public_user')) + Model = env['test_access_right.some_obj'] + with self.assertQueryCount(0): + Model._filter_access_rules('read') |
