diff --git a/dbfilter_from_header/__init__.py b/dbfilter_from_header/__init__.py index 00ccc56d5..5f8b01ec0 100644 --- a/dbfilter_from_header/__init__.py +++ b/dbfilter_from_header/__init__.py @@ -3,6 +3,7 @@ # # OpenERP, Open Source Management Solution # This module copyright (C) 2013 Therp BV (). +# This module copyright (C) 2014 ACSONE SA/NV (). # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as @@ -19,13 +20,19 @@ # ############################################################################## import re -from openerp.addons.web.controllers import main as web_main +from openerp import http -db_list_org = web_main.db_list +db_filter_org = http.db_filter -def db_list(req, force=False): - db_filter = req.httprequest.environ.get('HTTP_X_OPENERP_DBFILTER', '.*') - dbs = db_list_org(req, force=force) - return [db for db in dbs if re.match(db_filter, db)] -web_main.db_list = db_list +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') + if db_filter_hdr: + dbs = [db for db in dbs if re.match(db_filter_hdr, db)] + return dbs + +http.db_filter = db_filter diff --git a/dbfilter_from_header/__openerp__.py b/dbfilter_from_header/__openerp__.py index 7baf1f9e7..8a750cacd 100644 --- a/dbfilter_from_header/__openerp__.py +++ b/dbfilter_from_header/__openerp__.py @@ -19,14 +19,15 @@ # ############################################################################## { - "name" : "dbfilter_from_header", - "version" : "1.0", - "author" : "Therp BV", + "name": "dbfilter_from_header", + "version": "8.0.1.0.0", + "author": "Therp BV,Odoo Community Association (OCA)", + "license": "AGPL-3", "complexity": "normal", "description": """ This addon lets you pass a dbfilter as a HTTP header. - This is interesting for setups where database names can't be mapped to + This is interesting for setups where database names can't be mapped to proxied host names. In nginx, use @@ -34,11 +35,11 @@ The addon has to be loaded as server-wide module. """, - "category" : "Tools", - "depends" : [ + "category": "Tools", + "depends": [ 'web', ], - "data" : [ + "data": [ ], "js": [ ], @@ -46,7 +47,7 @@ ], "auto_install": False, "installable": True, - "external_dependencies" : { - 'python' : [], + "external_dependencies": { + 'python': [], }, } diff --git a/dbfilter_from_header/static/description/icon.png b/dbfilter_from_header/static/description/icon.png new file mode 100644 index 000000000..3a0328b51 Binary files /dev/null and b/dbfilter_from_header/static/description/icon.png differ