summaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
authorJairo Llopis <jairo.llopis@tecnativa.com>2020-11-10 12:01:15 +0000
committerThibault Delavallée <tde@odoo.com>2020-11-17 09:30:15 +0000
commitbf4683632dd47f5114224f3e40b4afecd276e801 (patch)
tree3747db1793d455e6f2893ca822b0b05d6827c8b0 /addons
parentcfb942ab5902e0992434eb2c7db2940526df404e (diff)
[FIX] website_slides: embed YouTube videos without cookies
Due to recent legal changes in EU, you cannot install tracking cookies in a user's browser without explicit consent. Before this patch, Odoo embedded youtube videos were violating that law (AFAIK & IANAL). With this simple patch, you benefit from YouTube's offering to embed videos without cookies. The UI remains the same, but no tracking is done. @Tecnativa TT26153 closes odoo/odoo#61824 X-original-commit: a1a1169f28233b69cd70d01621d605b36517ac73 Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Diffstat (limited to 'addons')
-rw-r--r--addons/website_slides/models/slide_slide.py4
-rw-r--r--addons/website_slides/tests/test_slide_utils.py3
2 files changed, 4 insertions, 3 deletions
diff --git a/addons/website_slides/models/slide_slide.py b/addons/website_slides/models/slide_slide.py
index 1ca358bf880..889cc58bf4d 100644
--- a/addons/website_slides/models/slide_slide.py
+++ b/addons/website_slides/models/slide_slide.py
@@ -345,7 +345,7 @@ class Slide(models.Model):
# embed youtube video
query = urls.url_parse(record.url).query
query = query + '&theme=light' if query else 'theme=light'
- record.embed_code = '<iframe src="//www.youtube.com/embed/%s?%s" allowFullScreen="true" frameborder="0"></iframe>' % (record.document_id, query)
+ record.embed_code = '<iframe src="//www.youtube-nocookie.com/embed/%s?%s" allowFullScreen="true" frameborder="0"></iframe>' % (record.document_id, query)
else:
# embed google doc video
record.embed_code = '<iframe src="//drive.google.com/file/d/%s/preview" allowFullScreen="true" frameborder="0"></iframe>' % (record.document_id)
@@ -740,7 +740,7 @@ class Slide(models.Model):
url_obj = urls.url_parse(url)
if url_obj.ascii_host == 'youtu.be':
return ('youtube', url_obj.path[1:] if url_obj.path else False)
- elif url_obj.ascii_host in ('youtube.com', 'www.youtube.com', 'm.youtube.com'):
+ elif url_obj.ascii_host in ('youtube.com', 'www.youtube.com', 'm.youtube.com', 'www.youtube-nocookie.com'):
v_query_value = url_obj.decode_query().get('v')
if v_query_value:
return ('youtube', v_query_value)
diff --git a/addons/website_slides/tests/test_slide_utils.py b/addons/website_slides/tests/test_slide_utils.py
index 77d31aa4dab..58a8b72c535 100644
--- a/addons/website_slides/tests/test_slide_utils.py
+++ b/addons/website_slides/tests/test_slide_utils.py
@@ -147,7 +147,8 @@ class TestFromURL(slides_common.SlidesCase):
'hlhLv0GN1hA': [
'https://www.youtube.com/v/hlhLv0GN1hA',
'https://www.youtube.com/embed/hlhLv0GN1hA',
- 'https://m.youtube.com/watch?v=hlhLv0GN1hA'
+ 'https://www.youtube-nocookie.com/embed/hlhLv0GN1hA',
+ 'https://m.youtube.com/watch?v=hlhLv0GN1hA',
],
}