From b3c1467499c72ee7ac0077ca4dfb2464c5e66c77 Mon Sep 17 00:00:00 2001 From: Nils Hamerlinck Date: Thu, 26 Jul 2018 23:13:00 +0700 Subject: [PATCH] [FIX] dbfilter_from_header: prevent autoloading --- dbfilter_from_header/README.rst | 9 ++++++--- dbfilter_from_header/override.py | 8 +++++++- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/dbfilter_from_header/README.rst b/dbfilter_from_header/README.rst index 03293e46b..e8f5a6cb8 100644 --- a/dbfilter_from_header/README.rst +++ b/dbfilter_from_header/README.rst @@ -16,10 +16,10 @@ Installation To install this module, you only need to add it to your addons, and load it as a server-wide module. -This can be done with the ``load`` parameter in ``/etc/odoo.conf`` or with the -``--load`` command-line parameter +This can be done with the ``server_wide_modules`` parameter in ``/etc/odoo.conf`` +or with the ``--load`` command-line parameter -``load = "web, dbfilter_from_header"`` +``server_wide_modules = "web, dbfilter_from_header"`` Configuration ============= @@ -39,6 +39,9 @@ applied before looking at the regular expression in the header. ``RequestHeader set X-Odoo-dbfilter [your filter regex]`` +And make sure that proxy mode is enabled in Odoo's configuration file: + +``proxy_mode = True`` Bug Tracker =========== diff --git a/dbfilter_from_header/override.py b/dbfilter_from_header/override.py index a347c30ed..113acb6a0 100644 --- a/dbfilter_from_header/override.py +++ b/dbfilter_from_header/override.py @@ -3,8 +3,10 @@ # Copyright 2018 Quartile Limited # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). +import logging import re from odoo import http +from odoo.tools import config db_filter_org = http.db_filter @@ -18,4 +20,8 @@ def db_filter(dbs, httprequest=None): 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