forked from OCA/server-tools
-
Notifications
You must be signed in to change notification settings - Fork 0
/
override.py
31 lines (24 loc) · 801 Bytes
/
override.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# © 2013 Therp BV
# © 2014 ACSONE SA/NV
# 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
def db_filter(dbs, host=None):
dbs_orig = db_filter_org(dbs, host)
httprequest = http.request.httprequest
db_filter_hdr = httprequest.environ.get("HTTP_X_ODOO_DBFILTER")
if db_filter_hdr:
dbs = [db for db in dbs if re.match(db_filter_hdr, db)]
else:
dbs = dbs_orig
return dbs
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