summaryrefslogtreecommitdiff
path: root/addons/website/models/website.py
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2018-06-28 19:01:52 +0200
committerChristophe Simonis <chs@odoo.com>2018-06-28 19:01:52 +0200
commitc8bb02141d2801c243ae65ba6800b07f090bb5c6 (patch)
tree2d099c5577df4783a6db3d853cf0141bf41c1aa9 /addons/website/models/website.py
parent4e2733e83a1f42773fb28f66431a0d6fb0393be9 (diff)
parent3cdcbce93cbde548d2d24426ee8de1d93f06706e (diff)
[MERGE] forward port branch saas-11.3 up to 3cdcbce93cb
Diffstat (limited to 'addons/website/models/website.py')
-rw-r--r--addons/website/models/website.py22
1 files changed, 13 insertions, 9 deletions
diff --git a/addons/website/models/website.py b/addons/website/models/website.py
index 106aee8b208..40c1ce0ae6e 100644
--- a/addons/website/models/website.py
+++ b/addons/website/models/website.py
@@ -85,7 +85,11 @@ class Website(models.Model):
@api.multi
def write(self, values):
self._get_languages.clear_cache(self)
- return super(Website, self).write(values)
+ result = super(Website, self).write(values)
+ if 'cdn_activated' in values or 'cdn_url' in values or 'cdn_filters' in values:
+ # invalidate the caches from static node at compile time
+ self.env['ir.qweb'].clear_caches()
+ return result
#----------------------------------------------------------
# Page Management
@@ -563,15 +567,15 @@ class Website(models.Model):
size = '' if size is None else '/%s' % size
return '/web/image/%s/%s/%s%s?unique=%s' % (record._name, record.id, field, size, sha)
- @api.model
def get_cdn_url(self, uri):
- # Currently only usable in a website_enable request context
- if request and request.website and not request.debug and request.website.user_id.id == request.uid:
- cdn_url = request.website.cdn_url
- cdn_filters = (request.website.cdn_filters or '').splitlines()
- for flt in cdn_filters:
- if flt and re.match(flt, uri):
- return urls.url_join(cdn_url, uri)
+ self.ensure_one()
+ if not uri:
+ return ''
+ cdn_url = self.cdn_url
+ cdn_filters = (self.cdn_filters or '').splitlines()
+ for flt in cdn_filters:
+ if flt and re.match(flt, uri):
+ return urls.url_join(cdn_url, uri)
return uri
@api.model