Browse Source

[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
12.0
Jos De Graeve 8 years ago
committed by Pedro M. Baeza
parent
commit
d965facfe9
  1. 35
      dbfilter_from_header/README.rst
  2. 9
      dbfilter_from_header/__init__.py
  3. 2
      dbfilter_from_header/__manifest__.py

35
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
<https://github.com/OCA/server-tools/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
<https://github.com/OCA/
server-tools/issues/new?body=module:%20
dbfilter_from_header%0Aversion:%20
9.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
help us smashing it by providing a detailed and welcomed feedback.
Credits
=======
@ -45,6 +61,7 @@ Contributors
* Laurent Mignon (aka lmi) <laurent.mignon@acsone.eu>
* Sandy Carter <sandy.carter@savoirfairelinux.com>
* Fabio Vilchez <fabio.vilchez@clearcorp.co.cr>
* Jos De Graeve <Jos.DeGraeve@apertoso.be>
Maintainer
----------

9
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

2
dbfilter_from_header/__openerp__.py → 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",
Loading…
Cancel
Save