From d52c2bbe191da1e660837cdaaff47313347d1284 Mon Sep 17 00:00:00 2001 From: Romain Derie Date: Thu, 26 Mar 2020 18:06:19 +0000 Subject: [PATCH] [IMP] website: perf - clear cache only when needed Before this commit, the cache would always been cleared even if not needed. Now, we only clear cache when needed. Util: Introduced with https://github.com/odoo/odoo/commit/9920f20e4c7753bc17bea71dea3a90f7de687196#diff-1407a8ce197a04eefaefa26c127a4418R327 Changed with 0d5fcdc1c7d1 task-2211013 --- addons/website/tests/test_performance.py | 2 +- odoo/addons/base/models/ir_http.py | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/addons/website/tests/test_performance.py b/addons/website/tests/test_performance.py index 9dcca13c472..c257de62b88 100644 --- a/addons/website/tests/test_performance.py +++ b/addons/website/tests/test_performance.py @@ -119,4 +119,4 @@ class TestWebsitePerformance(UtilPerf): # assets route /web/content/.. self.url_open('/') # create assets attachments assets_url = self.env['ir.attachment'].search([('url', '=like', '/web/content/%/web.assets_common%.js')], limit=1).url - self.assertEqual(self._get_url_hot_query(assets_url), 6) + self.assertEqual(self._get_url_hot_query(assets_url), 5) diff --git a/odoo/addons/base/models/ir_http.py b/odoo/addons/base/models/ir_http.py index 1cc56cb0383..52ba58d5651 100644 --- a/odoo/addons/base/models/ir_http.py +++ b/odoo/addons/base/models/ir_http.py @@ -318,7 +318,8 @@ class IrHttp(models.AbstractModel): # We have prefetched some fields of record, among which the field # 'write_date' used by '__last_update' below. In order to check # access on record, we have to invalidate its cache first. - record._cache.clear() + if not record.env.su: + record._cache.clear() record['__last_update'] except AccessError: return None, 403