From 24d30331d6278ba305ac773367beaf071bd55f70 Mon Sep 17 00:00:00 2001 From: qmo-odoo Date: Tue, 12 Mar 2019 13:59:56 +0000 Subject: [PATCH] [FIX] website_slides: no completion for public user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When a slide is seen by user, it should be marked as completed (according to its type), and the user completion for the course is updated. But for public user, we don't want those RPC calls to be done, as completion for visitor makes no sense. This commit also hide progressbar when current user is public. Task-1942852 closes odoo/odoo#31700 Signed-off-by: Jérome Maes (jem) --- .../static/src/js/slides_course_fullscreen_player.js | 10 +++++++--- .../views/website_slides_templates_lesson.xml | 2 +- .../website_slides_templates_lesson_fullscreen.xml | 2 +- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/addons/website_slides/static/src/js/slides_course_fullscreen_player.js b/addons/website_slides/static/src/js/slides_course_fullscreen_player.js index f8c34ee222f..3a8d0165a52 100644 --- a/addons/website_slides/static/src/js/slides_course_fullscreen_player.js +++ b/addons/website_slides/static/src/js/slides_course_fullscreen_player.js @@ -7,6 +7,8 @@ odoo.define('website_slides.fullscreen', function (require) { var core = require('web.core'); var QWeb = core.qweb; + var session = require('web.session'); + var Quiz = require('website_slides.quiz'); @@ -485,7 +487,7 @@ odoo.define('website_slides.fullscreen', function (require) { self.$('.o_wslides_fs_slide_title').html(QWeb.render('website.slides.fullscreen.title', {widget: self})); return self._renderSlide(); }).then(function() { - if (slide._autoSetDone) { + if (slide._autoSetDone && !session.is_website_user) { // no useless RPC call self._setCompleted(slide.id); } self._pushUrlState(); @@ -512,8 +514,10 @@ odoo.define('website_slides.fullscreen', function (require) { * @private */ _onSlideCompleted: function (ev) { - var slideId = ev.data.id; - this._setCompleted(slideId); + if (!session.is_website_user) { // no useless RPC call + var slideId = ev.data.id; + this._setCompleted(slideId); + } }, /** * Go the next slide diff --git a/addons/website_slides/views/website_slides_templates_lesson.xml b/addons/website_slides/views/website_slides_templates_lesson.xml index 67338fbe190..225d3ecdc48 100644 --- a/addons/website_slides/views/website_slides_templates_lesson.xml +++ b/addons/website_slides/views/website_slides_templates_lesson.xml @@ -18,7 +18,7 @@ class="text-white" t-field="slide.channel_id.name"/> -
+
-
+