From 2d66d9a63e85dada87b5c70b38bda9ec059aaaf4 Mon Sep 17 00:00:00 2001 From: Simon Lejeune <sle@openerp.com> Date: Thu, 3 Mar 2016 17:14:15 +0100 Subject: [PATCH] [FIX] *: do not use groups when extending an asset bundle Using groups when declaring an extension of an asset bundle leads to a different generated asset bundle according to the user's group. This is not something we want because a dynamic asset bundle's content means that it could (and it does) trigger unwanted cache invalidation. website_event, website_blog, website_forum and website_sale add functions to `website.contentMenu`. These functions are bound to server side qweb nodes protected by groups. We can always add the functions; if a user tries to use the routes he should receive a traceback because of lack of access rules website_blog adds a `website_blog.editor` module, but is guarded by the presence of a node in the DOM. We use the same logic to guard the module added by website_sale with the `.js_sale` node. website_gengo is working as expected. --- addons/website_blog/views/website_blog_templates.xml | 2 +- addons/website_event/views/website_event.xml | 2 +- addons/website_forum/views/website_forum.xml | 2 +- addons/website_gengo/views/website_gengo.xml | 2 +- addons/website_sale/static/src/js/website_sale.editor.js | 4 ++++ addons/website_sale/views/templates.xml | 2 +- 6 files changed, 9 insertions(+), 5 deletions(-) diff --git a/addons/website_blog/views/website_blog_templates.xml b/addons/website_blog/views/website_blog_templates.xml index ed305fbf61d0..2594efc4d862 100644 --- a/addons/website_blog/views/website_blog_templates.xml +++ b/addons/website_blog/views/website_blog_templates.xml @@ -2,7 +2,7 @@ <openerp> <data> -<template id="assets_editor" inherit_id="website.assets_editor" name="Blog Editor" groups="base.group_website_publisher"> +<template id="assets_editor" inherit_id="website.assets_editor" name="Blog Editor"> <xpath expr="." position="inside"> <script type="text/javascript" src="/website_blog/static/src/js/website_blog.editor.js"></script> <script type="text/javascript" src="/website_blog/static/src/js/website.tour.blog.js"></script> diff --git a/addons/website_event/views/website_event.xml b/addons/website_event/views/website_event.xml index 76732ef273a5..22813729e353 100644 --- a/addons/website_event/views/website_event.xml +++ b/addons/website_event/views/website_event.xml @@ -9,7 +9,7 @@ </xpath> </template> -<template id="assets_editor" inherit_id="website.assets_editor" name="Event Editor" groups="event.group_event_manager"> +<template id="assets_editor" inherit_id="website.assets_editor" name="Event Editor"> <xpath expr="." position="inside"> <script type="text/javascript" src="/website_event/static/src/js/website_event.editor.js"></script> <script type="text/javascript" src="/website_event/static/src/js/website.tour.event.js"></script> diff --git a/addons/website_forum/views/website_forum.xml b/addons/website_forum/views/website_forum.xml index 7a1dc45f7207..5095d7870a5c 100644 --- a/addons/website_forum/views/website_forum.xml +++ b/addons/website_forum/views/website_forum.xml @@ -3,7 +3,7 @@ <data> <!-- Editor custom --> -<template id="assets_editor" inherit_id="website.assets_editor" name="Forum Editor Assets" groups="base.group_user"> +<template id="assets_editor" inherit_id="website.assets_editor" name="Forum Editor Assets"> <xpath expr="." position="inside"> <script type="text/javascript" src="/website_forum/static/src/js/website_tour_forum.js"/> <script type="text/javascript" src="/website_forum/static/src/js/website_forum.editor.js"/> diff --git a/addons/website_gengo/views/website_gengo.xml b/addons/website_gengo/views/website_gengo.xml index 0e3e7c1e6ebb..fd4ce7004cb3 100644 --- a/addons/website_gengo/views/website_gengo.xml +++ b/addons/website_gengo/views/website_gengo.xml @@ -2,7 +2,7 @@ <openerp> <data> -<template id="gengo_assets_editor" inherit_id="website.assets_editor" name="Editor Head" groups="base.group_website_publisher"> +<template id="gengo_assets_editor" inherit_id="website.assets_editor" name="Editor Head"> <xpath expr='.' position="inside"> <link rel="stylesheet" href="/website_gengo/static/src/css/website_gengo.css"></link> <script type="text/javascript" src="/website_gengo/static/src/js/website_gengo.js"></script> diff --git a/addons/website_sale/static/src/js/website_sale.editor.js b/addons/website_sale/static/src/js/website_sale.editor.js index 9c914a1f0820..81953834323e 100644 --- a/addons/website_sale/static/src/js/website_sale.editor.js +++ b/addons/website_sale/static/src/js/website_sale.editor.js @@ -25,6 +25,10 @@ contentMenu.TopBar.include({ }, }); +if(!$('.js_sale').length) { + return $.Deferred().reject("DOM doesn't contain '.js_sale'"); +} + options.registry.website_sale = options.Class.extend({ start: function () { var self = this; diff --git a/addons/website_sale/views/templates.xml b/addons/website_sale/views/templates.xml index 337728999199..efe90cd9c5e2 100644 --- a/addons/website_sale/views/templates.xml +++ b/addons/website_sale/views/templates.xml @@ -17,7 +17,7 @@ </xpath> </template> -<template id="assets_editor" inherit_id="website.assets_editor" name="Shop Editor" groups="base.group_sale_manager"> +<template id="assets_editor" inherit_id="website.assets_editor" name="Shop Editor"> <xpath expr="." position="inside"> <script type="text/javascript" src="/website_sale/static/src/js/website_sale.editor.js"></script> <script type="text/javascript" src="/website_sale/static/src/js/website_sale_tour_shop.js"></script> -- GitLab