From 24d30331d6278ba305ac773367beaf071bd55f70 Mon Sep 17 00:00:00 2001 From: qmo-odoo <qmo@odoo.com> 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) <jem@openerp.com> --- .../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 f8c34ee222f3..3a8d0165a528 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 67338fbe190c..225d3ecdc483 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"/> </h3> - <div class="d-flex align-items-center"> + <div t-if="not is_public_user" class="d-flex align-items-center"> <div class="progress w-50" style="height: 8px;"> <div class="progress-bar rounded" role="progressbar" t-att-aria-valuenow="slide.channel_id.completion" aria-valuemin="0" aria-valuemax="100" diff --git a/addons/website_slides/views/website_slides_templates_lesson_fullscreen.xml b/addons/website_slides/views/website_slides_templates_lesson_fullscreen.xml index 8285a76bacdf..43874d74224f 100644 --- a/addons/website_slides/views/website_slides_templates_lesson_fullscreen.xml +++ b/addons/website_slides/views/website_slides_templates_lesson_fullscreen.xml @@ -35,7 +35,7 @@ <a t-attf-href="/slides/#{slug(slide.channel_id)}"> <span class="h3" t-field="slide.channel_id.name"/> </a> - <div class="mt-2"> + <div t-if="not is_public_user" class="mt-2"> <div class="progress"> <div class="progress-bar" role="progressbar" t-attf-style="width: #{slide.channel_id.completion}%" t-att-aria-valuenow="slide.channel_id.completion" aria-valuemin="0" aria-valuemax="100"></div> </div> -- GitLab