diff --git a/addons/web/controllers/main.py b/addons/web/controllers/main.py index 87355d075f3..708600fdb99 100644 --- a/addons/web/controllers/main.py +++ b/addons/web/controllers/main.py @@ -34,9 +34,9 @@ import openerp.modules.registry from openerp.tools.translate import _ from .. import http -openerpweb = http +http = http -from openerp.addons.web.http import request as req, noauth, nodb +from openerp.addons.web.http import request, nodb, noauth #---------------------------------------------------------- # OpenERP Web helpers @@ -87,9 +87,9 @@ def rjsmin(script): return result def db_list(): - proxy = req.session.proxy("db") + proxy = request.session.proxy("db") dbs = proxy.list() - h = req.httprequest.environ['HTTP_HOST'].split(':')[0] + h = request.httprequest.environ['HTTP_HOST'].split(':')[0] d = h.split('.')[0] r = openerp.tools.config['dbfilter'].replace('%h', h).replace('%d', d) dbs = [i for i in dbs if re.match(r, i)] @@ -100,7 +100,7 @@ def db_monodb_redirect(): redirect = False # 1 try the db in the url - db_url = req.params.get('db') + db_url = request.params.get('db') if db_url: return (db_url, False) @@ -111,7 +111,7 @@ def db_monodb_redirect(): dbs = [] # 2 use the database from the cookie if it's listable and still listed - cookie_db = req.httprequest.cookies.get('last_used_database') + cookie_db = request.httprequest.cookies.get('last_used_database') if cookie_db in dbs: db = cookie_db @@ -121,9 +121,9 @@ def db_monodb_redirect(): # redirect to the chosen db if multiple are available if db and len(dbs) > 1: - query = dict(urlparse.parse_qsl(req.httprequest.query_string, keep_blank_values=True)) + query = dict(urlparse.parse_qsl(request.httprequest.query_string, keep_blank_values=True)) query.update({ 'db': db }) - redirect = req.httprequest.path + '?' + urllib.urlencode(query) + redirect = request.httprequest.path + '?' + urllib.urlencode(query) return (db, redirect) def db_monodb(): @@ -131,9 +131,9 @@ def db_monodb(): return db_monodb_redirect()[0] def redirect_with_hash(url, code=303): - if req.httprequest.user_agent.browser == 'msie': + if request.httprequest.user_agent.browser == 'msie': try: - version = float(req.httprequest.user_agent.version) + version = float(request.httprequest.user_agent.version) if version < 10: return "
" % url except Exception: @@ -186,18 +186,18 @@ def module_topological_sort(modules): def module_installed(): # Candidates module the current heuristic is the /static dir - loadable = openerpweb.addons_manifest.keys() + loadable = http.addons_manifest.keys() modules = {} # Retrieve database installed modules # TODO The following code should move to ir.module.module.list_installed_modules() - Modules = req.session.model('ir.module.module') + Modules = request.session.model('ir.module.module') domain = [('state','=','installed'), ('name','in', loadable)] for module in Modules.search_read(domain, ['name', 'dependencies_id']): modules[module['name']] = [] deps = module.get('dependencies_id') if deps: - deps_read = req.session.model('ir.module.module.dependency').read(deps, ['name']) + deps_read = request.session.model('ir.module.module.dependency').read(deps, ['name']) dependencies = [i['name'] for i in deps_read] modules[module['name']] = dependencies @@ -205,7 +205,7 @@ def module_installed(): return sorted_modules def module_installed_bypass_session(dbname): - loadable = openerpweb.addons_manifest.keys() + loadable = http.addons_manifest.keys() modules = {} try: registry = openerp.modules.registry.RegistryManager.get(dbname) @@ -231,7 +231,7 @@ def module_boot(db=None): serverside = [] dbside = [] for i in server_wide_modules: - if i in openerpweb.addons_manifest: + if i in http.addons_manifest: serverside.append(i) monodb = db or db_monodb() if monodb: @@ -317,7 +317,7 @@ def manifest_glob(extension, addons=None, db=None, include_remotes=False): addons = addons.split(',') r = [] for addon in addons: - manifest = openerpweb.addons_manifest.get(addon, None) + manifest = http.addons_manifest.get(addon, None) if not manifest: continue # ensure does not ends with / @@ -338,7 +338,7 @@ def manifest_list(extension, mods=None, db=None): db: a database name (return all installed modules in that database) """ files = manifest_glob(extension, addons=mods, db=db, include_remotes=True) - if not req.debug: + if not request.debug: path = '/web/webclient/' + extension if mods is not None: path += '?' + urllib.urlencode({'mods': mods}) @@ -383,28 +383,28 @@ def make_conditional(response, last_modified=None, etag=None): response.last_modified = last_modified if etag: response.set_etag(etag) - return response.make_conditional(req.httprequest) + return response.make_conditional(request.httprequest) def login_and_redirect(db, login, key, redirect_url='/'): - wsgienv = req.httprequest.environ + wsgienv = request.httprequest.environ env = dict( - base_location=req.httprequest.url_root.rstrip('/'), + base_location=request.httprequest.url_root.rstrip('/'), HTTP_HOST=wsgienv['HTTP_HOST'], REMOTE_ADDR=wsgienv['REMOTE_ADDR'], ) - req.session.authenticate(db, login, key, env) + request.session.authenticate(db, login, key, env) return set_cookie_and_redirect(redirect_url) def set_cookie_and_redirect(redirect_url): redirect = werkzeug.utils.redirect(redirect_url, 303) redirect.autocorrect_location_header = False - cookie_val = urllib2.quote(simplejson.dumps(req.session_id)) + cookie_val = urllib2.quote(simplejson.dumps(request.session_id)) redirect.set_cookie('instance0|session_id', cookie_val) return redirect def load_actions_from_ir_values(key, key2, models, meta): - Values = req.session.model('ir.values') - actions = Values.get(key, key2, models, meta, req.context) + Values = request.session.model('ir.values') + actions = Values.get(key, key2, models, meta, request.context) return [(id, name, clean_action(action)) for id, name, action in actions] @@ -530,8 +530,8 @@ def xml2json_from_elementtree(el, preserve_whitespaces=False): def content_disposition(filename): filename = filename.encode('utf8') escaped = urllib2.quote(filename) - browser = req.httprequest.user_agent.browser - version = int((req.httprequest.user_agent.version or '0').split('.')[0]) + browser = request.httprequest.user_agent.browser + version = int((request.httprequest.user_agent.version or '0').split('.')[0]) if browser == 'msie' and version < 9: return "attachment; filename=%s" % escaped elif browser == 'safari': @@ -570,10 +570,10 @@ html_template = """