From 55fb68845dcc5de5f758687d1d01037a5fa36608 Mon Sep 17 00:00:00 2001 From: Xavier ALT Date: Tue, 4 Oct 2022 11:53:01 +0000 Subject: [PATCH] [FIX] website: avoid 'NoneType' has no attribute 'context' at install When loading a registry from route with auth="none" and where module 'website' is set as 'to install', request.env will be None and install will crash as follows: ``` Traceback (most recent call last): ... File "/home/odoo/src/odoo/saas-15.3/odoo/modules/registry.py", line 88, in new odoo.modules.load_modules(registry, force_demo, status, update_module) File "/home/odoo/src/odoo/saas-15.3/odoo/modules/loading.py", line 482, in load_modules processed_modules += load_marked_modules(cr, graph, File "/home/odoo/src/odoo/saas-15.3/odoo/modules/loading.py", line 371, in load_marked_modules loaded, processed = load_module_graph( File "/home/odoo/src/odoo/saas-15.3/odoo/modules/loading.py", line 303, in load_module_graph module.write({'state': 'installed', 'latest_version': ver}) File "/home/odoo/src/odoo/saas-15.3/addons/website/models/ir_module_module.py", line 78, in write if request and request.context.get('apply_new_theme'): File "/usr/lib/python3/dist-packages/werkzeug/local.py", line 348, in __getattr__ return getattr(self._get_current_object(), name) File "/home/odoo/src/odoo/saas-15.3/odoo/http.py", line 1029, in context return self.env.context AttributeError: 'NoneType' object has no attribute 'context' ``` closes odoo/odoo#102343 X-original-commit: fcf6e462e116d13533014e31d4191763354811cf Signed-off-by: Xavier Alt (xal) --- addons/website/models/ir_module_module.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/website/models/ir_module_module.py b/addons/website/models/ir_module_module.py index 69988752211..95a61c46e15 100644 --- a/addons/website/models/ir_module_module.py +++ b/addons/website/models/ir_module_module.py @@ -75,7 +75,7 @@ class IrModuleModule(models.Model): -> We want to upgrade every website using this theme. """ - if request and request.context.get('apply_new_theme'): + if request and request.db and request.context.get('apply_new_theme'): self = self.with_context(apply_new_theme=True) for module in self: