summaryrefslogtreecommitdiff
path: root/addons/website_slides
diff options
context:
space:
mode:
authorPhilémon van Helden <pvh@odoo.com>2021-05-03 11:46:40 +0000
committerPhilémon van Helden <pvh@odoo.com>2021-05-04 13:14:40 +0000
commit4c9d1882ca249cae8babdff1ed0f4ca13943b484 (patch)
tree143c60d4a64398adc6f538e28db727ef9bb7bd6e /addons/website_slides
parent7ae1b4622c6743e28deca12476d6e70375c9417e (diff)
[FIX] website_slides: correctly shows 0 XP on completed unpublished quiz
In 13.0 and above, when looking at a quiz that was completed while not published, it would incorrectly show 2 XP awarded, when 0 XP should be awarded. With this commit, we show instead the correct 0 XP awarded. opw-2480343 closes odoo/odoo#70333 X-original-commit: 26f047633b919bd8f2a260305bfd80e15bf259b6 Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
Diffstat (limited to 'addons/website_slides')
-rw-r--r--addons/website_slides/models/slide_slide.py7
-rw-r--r--addons/website_slides/static/src/js/slides_course_quiz.js2
2 files changed, 4 insertions, 5 deletions
diff --git a/addons/website_slides/models/slide_slide.py b/addons/website_slides/models/slide_slide.py
index 8f1ec16d36d..9a440b2a8bb 100644
--- a/addons/website_slides/models/slide_slide.py
+++ b/addons/website_slides/models/slide_slide.py
@@ -707,10 +707,9 @@ class Slide(models.Model):
'quiz_attempts_count': 0, # number of attempts
}
slide_partner = slide_partners_map.get(slide.id)
- if slide.question_ids and slide_partner:
- if slide_partner.quiz_attempts_count:
- result[slide.id]['quiz_karma_gain'] = gains[slide_partner.quiz_attempts_count] if slide_partner.quiz_attempts_count < len(gains) else gains[-1]
- result[slide.id]['quiz_attempts_count'] = slide_partner.quiz_attempts_count
+ if slide.question_ids and slide_partner and slide_partner.quiz_attempts_count:
+ result[slide.id]['quiz_karma_gain'] = gains[slide_partner.quiz_attempts_count] if slide_partner.quiz_attempts_count < len(gains) else gains[-1]
+ result[slide.id]['quiz_attempts_count'] = slide_partner.quiz_attempts_count
if quiz_done or slide_partner.completed:
result[slide.id]['quiz_karma_won'] = gains[slide_partner.quiz_attempts_count-1] if slide_partner.quiz_attempts_count < len(gains) else gains[-1]
return result
diff --git a/addons/website_slides/static/src/js/slides_course_quiz.js b/addons/website_slides/static/src/js/slides_course_quiz.js
index 9b3c0ad76d6..6d2fd3558bc 100644
--- a/addons/website_slides/static/src/js/slides_course_quiz.js
+++ b/addons/website_slides/static/src/js/slides_course_quiz.js
@@ -700,7 +700,7 @@ odoo.define('website_slides.quiz', function (require) {
questions: self._extractQuestionsAndAnswers(),
sessionAnswers: slideData.sessionAnswers || [],
quizKarmaMax: slideData.quizKarmaMax,
- quizKarmaWon: slideData.quizKarmaWon,
+ quizKarmaWon: slideData.quizKarmaWon || 0,
quizKarmaGain: slideData.quizKarmaGain,
quizAttemptsCount: slideData.quizAttemptsCount,
};