diff --git a/addons/auth_oauth/controllers/main.py b/addons/auth_oauth/controllers/main.py
index 35a06871696..bedf32ae776 100644
--- a/addons/auth_oauth/controllers/main.py
+++ b/addons/auth_oauth/controllers/main.py
@@ -7,8 +7,8 @@ from werkzeug.exceptions import BadRequest
import openerp
from openerp import SUPERUSER_ID
-import openerp.addons.web.http as http
-from openerp.addons.web.http import request
+from openerp import http
+from openerp.http import request
from openerp.addons.web.controllers.main import db_monodb, set_cookie_and_redirect, login_and_redirect
from openerp.modules.registry import RegistryManager
diff --git a/addons/auth_openid/controllers/main.py b/addons/auth_openid/controllers/main.py
index a4ef1bfa07b..534d1b01a9c 100644
--- a/addons/auth_openid/controllers/main.py
+++ b/addons/auth_openid/controllers/main.py
@@ -38,8 +38,8 @@ import openerp
from openerp import SUPERUSER_ID
from openerp.modules.registry import RegistryManager
from openerp.addons.web.controllers.main import login_and_redirect, set_cookie_and_redirect
-import openerp.addons.web.http as http
-from openerp.addons.web.http import request
+import openerp.http as http
+from openerp.http import request
from .. import utils
diff --git a/addons/auth_signup/controllers/main.py b/addons/auth_signup/controllers/main.py
index e42dc64151f..a778cbcf061 100644
--- a/addons/auth_signup/controllers/main.py
+++ b/addons/auth_signup/controllers/main.py
@@ -21,10 +21,10 @@
import logging
import openerp
+from openerp import http
+from openerp.http import request
from openerp.modules.registry import RegistryManager
from ..res_users import SignupError
-import openerp.addons.web.http as http
-from openerp.addons.web.http import request
_logger = logging.getLogger(__name__)
diff --git a/addons/base_import/controllers.py b/addons/base_import/controllers.py
index cb41d27f44a..afaf06e99e0 100644
--- a/addons/base_import/controllers.py
+++ b/addons/base_import/controllers.py
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
import simplejson
-from openerp.addons.web.http import Controller, route
+from openerp.http import Controller, route
class ImportController(Controller):
@route('/base_import/set_file')
diff --git a/addons/board/controllers.py b/addons/board/controllers.py
index 3bdebe1ef26..50148977216 100644
--- a/addons/board/controllers.py
+++ b/addons/board/controllers.py
@@ -4,14 +4,12 @@ from xml.etree import ElementTree
import openerp
from openerp.addons.web.controllers.main import load_actions_from_ir_values
-class Board(openerp.addons.web.http.Controller):
- _cp_path = '/board'
-
- @openerp.addons.web.http.jsonrequest
- def add_to_dashboard(self, req, menu_id, action_id, context_to_save, domain, view_mode, name=''):
+class Board(openerp.http.Controller):
+ @openerp.http.route('/board/add_to_dashboard', type='json', auth='user')
+ def add_to_dashboard(self, menu_id, action_id, context_to_save, domain, view_mode, name=''):
+ req = openerp.http.request
# FIXME move this method to board.board model
- dashboard_action = load_actions_from_ir_values(
- req, 'action', 'tree_but_open', [('ir.ui.menu', menu_id)], False)
+ dashboard_action = load_actions_from_ir_values('action', 'tree_but_open', [('ir.ui.menu', menu_id)], False)
if dashboard_action:
action = dashboard_action[0][2]
diff --git a/addons/edi/controllers/main.py b/addons/edi/controllers/main.py
index 7e27428b63b..149c0f62ff6 100644
--- a/addons/edi/controllers/main.py
+++ b/addons/edi/controllers/main.py
@@ -1,15 +1,15 @@
import simplejson
import urllib
-import openerp.addons.web.http as openerpweb
+import openerp
import openerp.addons.web.controllers.main as webmain
-class EDI(openerpweb.Controller):
- # http://hostname:8069/edi/import_url?url=URIEncodedURL
- _cp_path = "/edi"
+class EDI(openerp.http.Controller):
- @openerpweb.httprequest
- def import_url(self, req, url):
+ @openerp.http.route('/edi/import_url', type='http', auth='none')
+ def import_url(self, url):
+ # http://hostname:8069/edi/import_url?url=URIEncodedURL
+ req = openerp.http.request
modules = webmain.module_boot(req) + ['edi']
modules_str = ','.join(modules)
modules_json = simplejson.dumps(modules)
@@ -26,8 +26,9 @@ class EDI(openerpweb.Controller):
'init': 's.edi.edi_import("%s");' % safe_url,
}
- @openerpweb.jsonrequest
- def import_edi_url(self, req, url):
+ @openerp.http.route('/edi/import_edi_url', type='http', auth='none')
+ def import_edi_url(self, url):
+ req = openerp.http.request
result = req.session.proxy('edi').import_edi_url(req.session._db, req.session._uid, req.session._password, url)
if len(result) == 1:
return {"action": webmain.clean_action(req, result[0][2])}
diff --git a/addons/edi/edi_service.py b/addons/edi/edi_service.py
index d5dc5c09f74..dd95196ef4f 100644
--- a/addons/edi/edi_service.py
+++ b/addons/edi/edi_service.py
@@ -53,7 +53,6 @@ def exp_import_edi_document(db_name, uid, passwd, edi_document, context=None):
def exp_import_edi_url(db_name, uid, passwd, edi_url, context=None):
return _edi_dispatch(db_name, 'import_edi', uid, None, edi_url)
-@openerp.http.rpc('edi')
def dispatch(method, params):
if method in ['import_edi_document', 'import_edi_url']:
(db, uid, passwd) = params[0:3]
@@ -63,4 +62,6 @@ def dispatch(method, params):
fn = globals()['exp_' + method]
return fn(*params)
+openerp.service.wsgi_server.register_rpc_endpoint('edi', dispatch)
+
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/im/im.py b/addons/im/im.py
index 3c4f0bfcd14..fd87dbacbff 100644
--- a/addons/im/im.py
+++ b/addons/im/im.py
@@ -18,19 +18,19 @@
# along with this program. If not, see .
#
##############################################################################
+import datetime
+import json
+import logging
+import select
+import time
import openerp
import openerp.tools.config
import openerp.modules.registry
-import openerp.addons.web.http as http
-from openerp.addons.web.http import request
-from openerp.tools.misc import DEFAULT_SERVER_DATETIME_FORMAT
-import datetime
+from openerp import http
+from openerp.http import request
from openerp.osv import osv, fields
-import time
-import logging
-import json
-import select
+from openerp.tools.misc import DEFAULT_SERVER_DATETIME_FORMAT
_logger = logging.getLogger(__name__)
diff --git a/addons/im_livechat/im_livechat.py b/addons/im_livechat/im_livechat.py
index 81d3d61c6b4..b21a31d8362 100644
--- a/addons/im_livechat/im_livechat.py
+++ b/addons/im_livechat/im_livechat.py
@@ -19,15 +19,16 @@
#
##############################################################################
-import openerp
-import openerp.addons.im.im as im
import json
import random
import jinja2
+
+import openerp
+import openerp.addons.im.im as im
from openerp.osv import osv, fields
from openerp import tools
-import openerp.addons.web.http as http
-from openerp.addons.web.http import request
+from openerp import http
+from openerp.http import request
env = jinja2.Environment(
loader=jinja2.PackageLoader('openerp.addons.im_livechat', "."),
diff --git a/addons/mail/controllers/main.py b/addons/mail/controllers/main.py
index c5ef8bac92d..c2e15c4a12f 100644
--- a/addons/mail/controllers/main.py
+++ b/addons/mail/controllers/main.py
@@ -3,7 +3,7 @@ import psycopg2
import openerp
from openerp import SUPERUSER_ID
-import openerp.addons.web.http as http
+from openerp import http
from openerp.addons.web.controllers.main import content_disposition
diff --git a/addons/mass_mailing/controllers/main.py b/addons/mass_mailing/controllers/main.py
index 3ca238256b1..ac1531d7192 100644
--- a/addons/mass_mailing/controllers/main.py
+++ b/addons/mass_mailing/controllers/main.py
@@ -1,7 +1,6 @@
-import openerp.addons.web.http as http
-from openerp.addons.web.http import request
-
+from openerp import http
+from openerp.http import request
class MassMailController(http.Controller):
@http.route('/mail/track//blank.gif', type='http', auth='admin')
diff --git a/addons/point_of_sale/controllers/main.py b/addons/point_of_sale/controllers/main.py
index 419f5bc2efa..2461fe90b79 100644
--- a/addons/point_of_sale/controllers/main.py
+++ b/addons/point_of_sale/controllers/main.py
@@ -6,8 +6,8 @@ import openerp
import time
import random
-from openerp.addons.web import http
-from openerp.addons.web.http import request
+from openerp import http
+from openerp.http import request
from openerp.addons.web.controllers.main import manifest_list, module_boot, html_template
_logger = logging.getLogger(__name__)
diff --git a/addons/web_linkedin/web_linkedin.py b/addons/web_linkedin/web_linkedin.py
index 92adb30d3dd..a07dcd50ea0 100644
--- a/addons/web_linkedin/web_linkedin.py
+++ b/addons/web_linkedin/web_linkedin.py
@@ -26,13 +26,10 @@ from urlparse import urlparse, urlunparse
import openerp
from openerp.osv import fields, osv
-class Binary(openerp.addons.web.http.Controller):
- _cp_path = "/web_linkedin/binary"
-
- @openerp.addons.web.http.jsonrequest
- def url2binary(self, req, url):
+class Binary(openerp.http.Controller):
+ @openerp.http.route('/web_linkedin/binary/url2binary', type='json', auth='user')
+ def url2binary(self, url):
"""Used exclusively to load images from LinkedIn profiles, must not be used for anything else."""
- req.session.assert_valid(force=True)
_scheme, _netloc, path, params, query, fragment = urlparse(url)
# media.linkedin.com is the master domain for LinkedIn media (replicated to CDNs),
# so forcing it should always work and prevents abusing this method to load arbitrary URLs