From ef6a7d8fe398e688adac0fe210d8fcdb1e8f2e8e Mon Sep 17 00:00:00 2001 From: Jos De Graeve Date: Mon, 17 Oct 2016 14:39:59 +0200 Subject: [PATCH] [MIG] migrate dbfilter_from_header to 10.0 (#571) [MIG] migrate dbfilter_from_header to 10.0 I have also removed the ability to use HTTP_X_OPENERP_DBFILTER --- dbfilter_from_header/README.rst | 35 +++++++++++++++++++++------- dbfilter_from_header/__init__.py | 9 ++----- dbfilter_from_header/__manifest__.py | 4 ++-- 3 files changed, 30 insertions(+), 18 deletions(-) diff --git a/dbfilter_from_header/README.rst b/dbfilter_from_header/README.rst index 2b9626afd..5107a5b2c 100644 --- a/dbfilter_from_header/README.rst +++ b/dbfilter_from_header/README.rst @@ -10,15 +10,35 @@ This addon lets you pass a dbfilter as a HTTP header. This is interesting for setups where database names can't be mapped to proxied host names. +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 + +``load = "web, web_kanban, dbfilter_from_header"`` + Configuration ============= -In nginx, use one of: +Please keep in mind that the standard odoo dbfilter configuration is still +applied before looking at the regular expression in the header. + +* For nginx, use: + + ``proxy_set_header X-Odoo-dbfilter [your filter regex];`` + +* For caddy, use: + + ``proxy_header X-Odoo-dbfilter [your filter regex]`` + +* For Apache, use: -* proxy_set_header X-OpenERP-dbfilter [your filter]; -* proxy_set_header X-Odoo-dbfilter [your filter]; + ``RequestHeader set X-Odoo-dbfilter [your filter regex]`` -This addon has to be loaded as server-wide module. Bug Tracker =========== @@ -26,11 +46,7 @@ Bug Tracker Bugs are tracked on `GitHub Issues `_. In case of trouble, please check there if your issue has already been reported. If you spotted it first, -help us smashing it by providing a detailed and welcomed `feedback -`_. +help us smashing it by providing a detailed and welcomed feedback. Credits ======= @@ -45,6 +61,7 @@ Contributors * Laurent Mignon (aka lmi) * Sandy Carter * Fabio Vilchez +* Jos De Graeve Maintainer ---------- diff --git a/dbfilter_from_header/__init__.py b/dbfilter_from_header/__init__.py index 63ebcefb4..4d7ba003e 100644 --- a/dbfilter_from_header/__init__.py +++ b/dbfilter_from_header/__init__.py @@ -4,7 +4,7 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). import re -from openerp import http +from odoo import http db_filter_org = http.db_filter @@ -12,12 +12,7 @@ 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_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 + 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)] return dbs diff --git a/dbfilter_from_header/__manifest__.py b/dbfilter_from_header/__manifest__.py index a1210ad75..1b0a0106f 100644 --- a/dbfilter_from_header/__manifest__.py +++ b/dbfilter_from_header/__manifest__.py @@ -6,7 +6,7 @@ { "name": "dbfilter_from_header", "summary": "Filter databases with HTTP headers", - "version": "9.0.1.0.0", + "version": "10.0.1.0.0", "author": "Therp BV,Odoo Community Association (OCA)", "license": "AGPL-3", "complexity": "normal", @@ -21,7 +21,7 @@ "css": [ ], "auto_install": False, - 'installable': False, + 'installable': True, "external_dependencies": { 'python': [], },