From 4771bdf16b7e4edf6d2def83c4c3d601c70e05f7 Mon Sep 17 00:00:00 2001 From: Nils Hamerlinck Date: Thu, 26 Jul 2018 22:24:25 +0700 Subject: [PATCH] [FIX] dbfilter_from_header: prevent autoloading --- dbfilter_from_header/README.rst | 9 ++++++++- dbfilter_from_header/__init__.py | 8 +++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/dbfilter_from_header/README.rst b/dbfilter_from_header/README.rst index 2b9626afd..032fb38f1 100644 --- a/dbfilter_from_header/README.rst +++ b/dbfilter_from_header/README.rst @@ -18,7 +18,14 @@ In nginx, use one of: * proxy_set_header X-OpenERP-dbfilter [your filter]; * proxy_set_header X-Odoo-dbfilter [your filter]; -This addon has to be loaded as server-wide module. +Make sure that proxy mode is enabled in Odoo's configuration file: + +`proxy_mode = True` + +And load module as a server-wide module, either via the ``--load`` command-line parameter +or by the ``server_wide_modules`` parameter: + +``server_wide_modules = "web, web_kanban, dbfilter_from_header"`` Bug Tracker =========== diff --git a/dbfilter_from_header/__init__.py b/dbfilter_from_header/__init__.py index 63ebcefb4..3d29d494e 100644 --- a/dbfilter_from_header/__init__.py +++ b/dbfilter_from_header/__init__.py @@ -3,8 +3,10 @@ # © 2014 ACSONE SA/NV # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). +import logging import re from openerp import http +from openerp.tools import config db_filter_org = http.db_filter @@ -22,4 +24,8 @@ def db_filter(dbs, httprequest=None): dbs = [db for db in dbs if re.match(db_filter_hdr, db)] return dbs -http.db_filter = db_filter +if config.get('proxy_mode') and \ + 'dbfilter_from_header' in config.get('server_wide_modules'): + _logger = logging.getLogger(__name__) + _logger.info('monkey patching http.db_filter') + http.db_filter = db_filter