diff --git a/addons/web/common/http.py b/addons/web/common/http.py index bb87d719bad..a70ef53a91c 100644 --- a/addons/web/common/http.py +++ b/addons/web/common/http.py @@ -425,8 +425,8 @@ class DisableCacheMiddleware(object): def start_wrapped(status, headers): referer = environ.get('HTTP_REFERER', '') parsed = urlparse.urlparse(referer) - debug = not urlparse.parse_qs(parsed.query).has_key('debug') - filtered_headers = [(k,v) for k,v in headers if not (k=='Last-Modified' or (debug and k=='Cache-Control'))] + debug = parsed.query.count('debug') >= 1 + filtered_headers = [(k,v) for k,v in headers if not (k=='Last-Modified' or (debug and (k=='Cache-Control' or k=='Expires')))] if debug: filtered_headers.append(('Cache-Control', 'no-cache')) start_response(status, filtered_headers) diff --git a/addons/web/controllers/main.py b/addons/web/controllers/main.py index 9c8451cd71e..76eccbda159 100644 --- a/addons/web/controllers/main.py +++ b/addons/web/controllers/main.py @@ -194,9 +194,11 @@ class WebClient(openerpweb.Controller): if mods is not None: path += '?mods=' + mods return [path] - # old code to force cache reloading, this really works, sorry niv but we stop wasting time - return ['%s?debug=%s' % (wp, os.path.getmtime(fp)) for fp, wp in self.manifest_glob(req, mods, extension)] - return [el[1] for el in self.manifest_glob(req, mods, extension)] + sugar = req.httprequest.environ["QUERY_STRING"].count("no_sugar") == 0 + if sugar: + return ['%s?debug=%s' % (wp, os.path.getmtime(fp)) for fp, wp in self.manifest_glob(req, mods, extension)] + else: + return [el[1] for el in self.manifest_glob(req, mods, extension)] @openerpweb.jsonrequest def csslist(self, req, mods=None):