From ef3ccce0798cb3d46fd8523279deed90230566f1 Mon Sep 17 00:00:00 2001 From: qmo-odoo Date: Tue, 30 Apr 2019 08:14:44 +0000 Subject: [PATCH] [FIX] website_slides_survey: fix some certifications issues in eLearning frontend This commit fixes a few issues with courses which have certification * fix links to already passed certifications: currently it crashed, now it redirects to the certification end screen; * "Begin your certification now" green box link now has same behaviour as links in the list view. It redirects to either the start certification screen or the first slide in fullscreen mode. Moreover once the user has started the course (at least one completed slide) this box disappears as it is not really useful anymore; Some dead code is removed. Commit linked to task ID 1978530 (fixes linked to internal testing). --- addons/website_slides_survey/models/slide_slide.py | 5 ++--- .../static/src/js/slides_course_fullscreen_player.js | 10 +--------- .../views/website_slides_templates_course.xml | 6 +++--- 3 files changed, 6 insertions(+), 15 deletions(-) diff --git a/addons/website_slides_survey/models/slide_slide.py b/addons/website_slides_survey/models/slide_slide.py index 3b477364dcd..c7639917b27 100644 --- a/addons/website_slides_survey/models/slide_slide.py +++ b/addons/website_slides_survey/models/slide_slide.py @@ -60,13 +60,12 @@ class Slide(models.Model): for slide in self.filtered(lambda slide: slide.slide_type == 'certification' and slide.survey_id): if slide.channel_id.is_member: user_membership_id_sudo = slide.user_membership_id.sudo() - quizz_passed = user_membership_id_sudo.survey_quizz_passed - if not quizz_passed and user_membership_id_sudo.user_input_ids: + if user_membership_id_sudo.user_input_ids: last_user_input = next(user_input for user_input in user_membership_id_sudo.user_input_ids.sorted( lambda user_input: user_input.create_date, reverse=True )) certification_urls[slide.id] = last_user_input._get_survey_url() - elif not user_membership_id_sudo.user_input_ids: + else: user_input = slide.survey_id.sudo()._create_answer( partner=self.env.user.partner_id, check_attempts=False, diff --git a/addons/website_slides_survey/static/src/js/slides_course_fullscreen_player.js b/addons/website_slides_survey/static/src/js/slides_course_fullscreen_player.js index cf64b088d74..0c2baec72f6 100644 --- a/addons/website_slides_survey/static/src/js/slides_course_fullscreen_player.js +++ b/addons/website_slides_survey/static/src/js/slides_course_fullscreen_player.js @@ -9,15 +9,7 @@ Fullscreen.include({ xmlDependencies: (Fullscreen.prototype.xmlDependencies || []).concat( ["/website_slides_survey/static/src/xml/website_slides_fullscreen.xml"] ), - _preprocessSlideData: function (slidesDataList){ - slidesDataList = this._super.apply(this, arguments); - slidesDataList.forEach(function (slideData, index){ - if (slideData.type === "certification"){ - slideData.certificationUrl = '/slides_survey/slide/get_certification_url?slide_id=' + slideData.id; - } - }); - return slidesDataList; - }, + /** * Extend the _renderSlide method so that slides of type "certification" * are also taken into account and rendered correctly diff --git a/addons/website_slides_survey/views/website_slides_templates_course.xml b/addons/website_slides_survey/views/website_slides_templates_course.xml index 8e94e1665ca..bac6288713a 100644 --- a/addons/website_slides_survey/views/website_slides_templates_course.xml +++ b/addons/website_slides_survey/views/website_slides_templates_course.xml @@ -7,11 +7,11 @@ -
+ +
Begin your certification today!
- - + Start Now