Browse Source

[ADD] - cherry picked 5737ebc

12.0
Stéphane Bidoul 9 years ago
committed by Pedro M. Baeza
parent
commit
8593d93b9a
  1. 9
      dbfilter_from_header/__init__.py
  2. 3
      dbfilter_from_header/__openerp__.py

9
dbfilter_from_header/__init__.py

@ -28,9 +28,12 @@ db_filter_org = http.db_filter
def db_filter(dbs, httprequest=None):
dbs = db_filter_org(dbs, httprequest)
httprequest = httprequest or http.request.httprequest
db_filter_hdr = \
httprequest.environ.get('HTTP_X_ODOO_DBFILTER') or \
httprequest.environ.get('HTTP_X_OPENERP_DBFILTER')
db_filter_hdr_odoo = httprequest.environ.get('HTTP_X_ODOO_DBFILTER')
db_filter_hdr_openerp = httprequest.environ.get('HTTP_X_OPENERP_DBFILTER')
if db_filter_hdr_odoo and db_filter_hdr_openerp:
raise RuntimeError("x-odoo-dbfilter and x-openerp-dbfiter "
"are both set")
db_filter_hdr = db_filter_hdr_odoo or db_filter_hdr_openerp
if db_filter_hdr:
dbs = [db for db in dbs if re.match(db_filter_hdr, db)]
return dbs

3
dbfilter_from_header/__openerp__.py

@ -30,8 +30,9 @@
This is interesting for setups where database names can't be mapped to
proxied host names.
In nginx, use
In nginx, use one of
proxy_set_header X-OpenERP-dbfilter [your filter];
proxy_set_header X-Odoo-dbfilter [your filter];
The addon has to be loaded as server-wide module.
""",

Loading…
Cancel
Save