|
@ -3,6 +3,7 @@ |
|
|
# |
|
|
# |
|
|
# OpenERP, Open Source Management Solution |
|
|
# OpenERP, Open Source Management Solution |
|
|
# This module copyright (C) 2013 Therp BV (<http://therp.nl>). |
|
|
# This module copyright (C) 2013 Therp BV (<http://therp.nl>). |
|
|
|
|
|
# This module copyright (C) 2014 ACSONE SA/NV (<http://acsone.eu>). |
|
|
# |
|
|
# |
|
|
# This program is free software: you can redistribute it and/or modify |
|
|
# This program is free software: you can redistribute it and/or modify |
|
|
# it under the terms of the GNU Affero General Public License as |
|
|
# it under the terms of the GNU Affero General Public License as |
|
@ -19,13 +20,19 @@ |
|
|
# |
|
|
# |
|
|
############################################################################## |
|
|
############################################################################## |
|
|
import re |
|
|
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 |