From 721c34ccc9d59d5e9ce5c4f690bcfc035b77653f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Warnon?= Date: Wed, 4 Mar 2020 08:03:02 +0000 Subject: [PATCH 1/6] [FIX] survey: correctly fade out wrong answer bars in session mode This commit fixes the faded out answers bars on choice questions during a survey session. The logic is currently inverted (correct answers are faded out instead of wrong ones). LINKS PR #48442 Task 2208574 --- addons/survey/static/src/js/survey_session_chart.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/survey/static/src/js/survey_session_chart.js b/addons/survey/static/src/js/survey_session_chart.js index 3dd2fac13ec..2341b6e7328 100644 --- a/addons/survey/static/src/js/survey_session_chart.js +++ b/addons/survey/static/src/js/survey_session_chart.js @@ -199,8 +199,8 @@ publicWidget.registry.SurveySessionChart = publicWidget.Widget.extend({ _getBackgroundColor: function (metaData) { var opacity = '0.8'; if (this.showAnswers && this.hasCorrectAnswers) { - if (this._isValidAnswer(metaData.dataIndex)){ - opacity = 0.3; + if (!this._isValidAnswer(metaData.dataIndex)){ + opacity = '0.3'; } } var rgb = SESSION_CHART_COLORS[metaData.dataIndex]; From 090f9ad3338381786725e092eac15843f74c6dea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Warnon?= Date: Wed, 4 Mar 2020 09:04:46 +0000 Subject: [PATCH 2/6] [FIX] survey: fix sessions leaderboard & "final leaderboard" display This commit fixes a problem where the "final leaderboard" would duplicate the attendees ranking display if the last question of the survey is scored. We now also directly close the session when the host hits "next" on the last question and there is no leaderboard to display. LINKS PR #48442 Task 2208574 --- addons/survey/static/src/js/survey_session_manage.js | 8 +++++--- .../survey/views/survey_templates_user_input_session.xml | 5 ++++- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/addons/survey/static/src/js/survey_session_manage.js b/addons/survey/static/src/js/survey_session_manage.js index aec3c1f76bf..4a1fdf13798 100644 --- a/addons/survey/static/src/js/survey_session_manage.js +++ b/addons/survey/static/src/js/survey_session_manage.js @@ -156,15 +156,17 @@ publicWidget.registry.SurveySessionManage = publicWidget.Widget.extend({ delete this.resultsRefreshInterval; this.$('.o_survey_session_navigation_previous').removeClass('d-none'); } else if (['leaderboard', 'leaderboardFinal'].includes(screenToDisplay) - && this.currentScreen !== 'leaderboardFinal') { - if (screenToDisplay === 'leaderboardFinal') { - this.$('.o_survey_session_leaderboard_title').text(_('Final Leaderboard')); + && !['leaderboard', 'leaderboardFinal'].includes(this.currentScreen)) { + if (this.isLastQuestion) { this.$('.o_survey_session_navigation_next').addClass('d-none'); } this.leaderBoard.showLeaderboard(true); } else { if (!this.isLastQuestion) { this._nextQuestion(); + } else if (!this.sessionShowLeaderboard) { + // If we have no leaderboard to show, directly end the session + this.$('.o_survey_session_close').click(); } } diff --git a/addons/survey/views/survey_templates_user_input_session.xml b/addons/survey/views/survey_templates_user_input_session.xml index 6f3ff38d282..1d1a91b368f 100644 --- a/addons/survey/views/survey_templates_user_input_session.xml +++ b/addons/survey/views/survey_templates_user_input_session.xml @@ -129,7 +129,10 @@