diff --git a/addons/web/__openerp__.py b/addons/web/__openerp__.py index 9c2deb681d8..36e7ad2db27 100644 --- a/addons/web/__openerp__.py +++ b/addons/web/__openerp__.py @@ -39,7 +39,7 @@ This module provides the core of the OpenERP Web Client. "static/lib/underscore/underscore.string.js", "static/lib/backbone/backbone.js", "static/lib/cleditor/jquery.cleditor.js", - "static/lib/py.js/lib/py.js", + "static/lib/py.js/lib/py.js", "static/src/js/boot.js", "static/src/js/corelib.js", "static/src/js/coresetup.js", @@ -68,4 +68,5 @@ This module provides the core of the OpenERP Web Client. 'qweb' : [ "static/src/xml/*.xml", ], + 'bootstrap': True, } diff --git a/addons/web/controllers/main.py b/addons/web/controllers/main.py index 50ad9102061..81d151cabdc 100644 --- a/addons/web/controllers/main.py +++ b/addons/web/controllers/main.py @@ -81,57 +81,6 @@ def rjsmin(script): ).strip() return result -def sass2scss(src): - # Validated by diff -u of sass2scss against: - # sass-convert -F sass -T scss openerp.sass openerp.scss - block = [] - sass = ('', block) - reComment = re.compile(r'//.*$') - reIndent = re.compile(r'^\s+') - reIgnore = re.compile(r'^\s*(//.*)?$') - reFixes = { re.compile(r'\(\((.*)\)\)') : r'(\1)', } - lastLevel = 0 - prevBlocks = {} - for l in src.split('\n'): - l = l.rstrip() - if reIgnore.search(l): continue - l = reComment.sub('', l) - l = l.rstrip() - indent = reIndent.match(l) - level = indent.end() if indent else 0 - l = l[level:] - if level>lastLevel: - prevBlocks[lastLevel] = block - newBlock = [] - block[-1] = (block[-1], newBlock) - block = newBlock - elif level=0: - out += indent+sass[0]+" {\n" - for e in sass[1]: - out += write(e, level+1) - if level>=0: - out = out.rstrip(" \n") - out += ' }\n' - if level==0: - out += "\n" - else: - out += indent+sass+";\n" - return out - return write(sass) - def db_list(req): dbs = [] proxy = req.session.proxy("db") @@ -142,6 +91,17 @@ def db_list(req): dbs = [i for i in dbs if re.match(r, i)] return dbs +def db_monodb(req): + # if only one db is listed returns it else return False + try: + dbs = db_list(req) + if len(dbs) == 1: + return dbs[0] + except xmlrpclib.Fault: + # ignore access denied + pass + return False + def module_topological_sort(modules): """ Return a list of module names sorted so that their dependencies of the modules are listed before the module itself @@ -231,22 +191,14 @@ def module_installed_bypass_session(dbname): def module_boot(req): server_wide_modules = openerp.conf.server_wide_modules or ['web'] - return [m for m in server_wide_modules if m in openerpweb.addons_manifest] - # TODO the following will be enabled once we separate the module code and translation loading serverside = [] dbside = [] for i in server_wide_modules: if i in openerpweb.addons_manifest: serverside.append(i) - # if only one db load every module at boot - dbs = [] - try: - dbs = db_list(req) - except xmlrpclib.Fault: - # ignore access denied - pass - if len(dbs) == 1: - dbside = module_installed_bypass_session(dbs[0]) + monodb = db_monodb(req) + if monodb: + dbside = module_installed_bypass_session(monodb) dbside = [i for i in dbside if i not in serverside] addons = serverside + dbside return addons @@ -549,7 +501,7 @@ def _local_web_translations(trans_file): messages.append({'id': x.id, 'string': x.string}) return messages -def from_elementtree(el, preserve_whitespaces=False): +def xml2json_from_elementtree(el, preserve_whitespaces=False): """ xml2json-direct Simple and straightforward XML-to-JSON converter in Python New BSD Licensed @@ -569,13 +521,12 @@ def from_elementtree(el, preserve_whitespaces=False): if el.text and (preserve_whitespaces or el.text.strip() != ''): kids.append(el.text) for kid in el: - kids.append(from_elementtree(kid, preserve_whitespaces)) + kids.append(xml2json_from_elementtree(kid, preserve_whitespaces)) if kid.tail and (preserve_whitespaces or kid.tail.strip() != ''): kids.append(kid.tail) res["children"] = kids return res - def content_disposition(filename, req): filename = filename.encode('utf8') escaped = urllib2.quote(filename) @@ -612,8 +563,7 @@ html_template = """