summaryrefslogtreecommitdiff
path: root/addons/website_slides
diff options
context:
space:
mode:
authorThibault Delavallée <tde@odoo.com>2019-03-08 09:19:43 +0000
committerThibault Delavallée <tde@odoo.com>2019-03-08 11:15:07 +0000
commit7afd23e56c6cfe6d1f5b5bbcb08911f79cccd9ff (patch)
treeea3cb1527a34d605c89ab8b19929f32113207c1c /addons/website_slides
parent523c1276a13bc63c79e499286d3883ee3cbd953d (diff)
[FIX] website_slides: various fixes
Display * improve color of trophy displayed on top of course main page (success if course done, warning while working on it); * correctly fetch and display karma/xp points on course lesson list. It is either gain of next try, either awarded points depending on slide completion; * fix control buttons in course main page (prev, next, set done, set completed, fullscren), notably correctly set them disabled; Linting / Code * put demo in no update; * rename some parameter in website_slides_survey to avoid conflict between quiz (on a slide) and certification (a survey); Commit linked to task ID 1941250 and PR #31697. Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Diffstat (limited to 'addons/website_slides')
-rw-r--r--addons/website_slides/controllers/main.py2
-rw-r--r--addons/website_slides/data/slide_channel_demo.xml2
-rw-r--r--addons/website_slides/data/slide_slide_demo.xml2
-rw-r--r--addons/website_slides/data/slide_user_demo.xml2
-rw-r--r--addons/website_slides/views/website_slides_templates_course.xml5
-rw-r--r--addons/website_slides/views/website_slides_templates_lesson.xml32
6 files changed, 26 insertions, 19 deletions
diff --git a/addons/website_slides/controllers/main.py b/addons/website_slides/controllers/main.py
index e92bd961b30..af251ab89e3 100644
--- a/addons/website_slides/controllers/main.py
+++ b/addons/website_slides/controllers/main.py
@@ -434,7 +434,7 @@ class WebsiteSlides(WebsiteProfile):
}]
values['slide_promoted'] = request.env['slide.slide'].sudo().search(domain, limit=1, order=order)
values['category_data'] = category_data
- values['channel_progress'] = self._get_channel_progress(channel)
+ values['channel_progress'] = self._get_channel_progress(channel, include_quiz=True)
values = self._prepare_additional_channel_values(values, **kw)
diff --git a/addons/website_slides/data/slide_channel_demo.xml b/addons/website_slides/data/slide_channel_demo.xml
index 4f30bc22bae..1c6ae501db4 100644
--- a/addons/website_slides/data/slide_channel_demo.xml
+++ b/addons/website_slides/data/slide_channel_demo.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<odoo><data noupdate="0">
+<odoo><data noupdate="1">
<record id="website_slides.channel_public" model="slide.channel">
<field name="name">Basics of Gardening</field>
diff --git a/addons/website_slides/data/slide_slide_demo.xml b/addons/website_slides/data/slide_slide_demo.xml
index 852d472425a..9407a408671 100644
--- a/addons/website_slides/data/slide_slide_demo.xml
+++ b/addons/website_slides/data/slide_slide_demo.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<odoo><data noupdate="0">
+<odoo><data noupdate="1">
<!-- CHANNEL 0: Basics of Gardening -->
<!-- ================================================== -->
diff --git a/addons/website_slides/data/slide_user_demo.xml b/addons/website_slides/data/slide_user_demo.xml
index 0bfd991251e..3254205e18a 100644
--- a/addons/website_slides/data/slide_user_demo.xml
+++ b/addons/website_slides/data/slide_user_demo.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<odoo><data noupdate="0">
+<odoo><data noupdate="1">
<!-- CHANNEL 0: Basics of Gardening -->
<!-- ================================================== -->
diff --git a/addons/website_slides/views/website_slides_templates_course.xml b/addons/website_slides/views/website_slides_templates_course.xml
index 4e5795b81f3..6a6ede4a374 100644
--- a/addons/website_slides/views/website_slides_templates_course.xml
+++ b/addons/website_slides/views/website_slides_templates_course.xml
@@ -346,7 +346,10 @@
<span t-esc="slide.name"/>
</span>
<t t-if="slide.question_ids">
- <span class="badge badge-warning text-white font-weight-bold"><i class="fa fa-flag"></i><t t-esc="channel_progress[slide.id].get('quiz_gain', slide.quiz_first_attempt_reward)"/> xp</span>
+ <span t-att-class="'badge text-white font-weight-bold %s' % ('badge-success' if channel_progress[slide.id].get('completed') else 'badge-warning')">
+ <i class="fa fa-flag mr-2"></i>
+ <t t-esc="channel_progress[slide.id].get('quiz_karma_won', 0) if channel_progress[slide.id].get('completed') else channel_progress[slide.id].get('quiz_karma_gain', 0)"/> xp
+ </span>
</t>
<span class="badge badge-info ml-2" t-if="slide.is_preview">Free preview</span>
<div t-if="channel.is_member or channel.can_publish" class="pt-2 pb-2 border-left ml-2 mr-2 pl-2 d-flex align-items-center o_wslides_slides_list_slide_controls">
diff --git a/addons/website_slides/views/website_slides_templates_lesson.xml b/addons/website_slides/views/website_slides_templates_lesson.xml
index 7e4b97cfecc..67338fbe190 100644
--- a/addons/website_slides/views/website_slides_templates_lesson.xml
+++ b/addons/website_slides/views/website_slides_templates_lesson.xml
@@ -26,7 +26,7 @@
<span><t t-esc="slide.channel_id.completion"/> %</span>
</div>
</div>
- <i t-att-class="'fa fa-trophy m-0 ml-2 p-0 %s' % ('text-warning' if slide.channel_id.completed else 'text-light')"></i>
+ <i t-att-class="'fa fa-trophy m-0 ml-2 p-0 %s' % ('text-success' if slide.channel_id.completed else 'text-warning')"></i>
</div>
</div>
</div>
@@ -146,7 +146,7 @@
<span t-esc="aside_slide.name" t-att-class="'mr-2 %s' % ('text-800' if aside_slide == slide else 'text-600')"/>
<span t-if="aside_slide.question_ids"
t-att-class="'ml-auto badge badge-pill %s' % ('badge-success' if channel_progress[aside_slide.id].get('completed') else 'badge-light text-600')">
- <t t-esc="channel_progress[aside_slide.id].get('quiz_karma_max')"/>
+ <t t-esc="channel_progress[aside_slide.id].get('quiz_karma_won') if channel_progress[aside_slide.id].get('completed') else channel_progress[aside_slide.id].get('quiz_karma_gain')"/> xp
</span>
</a>
<ul t-if="aside_slide.link_ids or aside_slide.question_ids" class="list-group ml-5 list-unstyled">
@@ -186,20 +186,24 @@
</span>
</div>
<div class="ml-auto">
- <a class="btn btn-light border" role="button"
- t-att-disabled="'disabled' if not previous_slide else None"
- t-att-href="'/slides/slide/%s' % (slug(previous_slide)) if previous_slide else '#'"><i class="fa fa-chevron-left mr-2"></i> Prev</a>
- <a class="btn btn-primary border text-white" role="button"
- t-att-disabled="'disabled' if slide.question_ids or channel_progress[slide.id].get('completed') else None"
- t-att-href="None if (channel_progress[slide.id].get('completed') or slide.question_ids) else '/slides/slide/%s/set_completed?%s' % (slide.id, 'next_slide_id=%s' % (next_slide.id) if next_slide else '')">
+ <a t-att-class="'btn btn-light border %s' % ('disabled' if not previous_slide else '')"
+ role="button" t-att-aria-disabled="'disabled' if not previous_slide else None"
+ t-att-href="'/slides/slide/%s' % (slug(previous_slide)) if previous_slide else '#'">
+ <i class="fa fa-chevron-left mr-2"></i> Prev
+ </a>
+ <a t-att-class="'btn btn-primary border text-white %s' % ('disabled' if slide.question_ids or channel_progress[slide.id].get('completed') else '')"
+ role="button" t-att-aria-disabled="'true' if slide.question_ids or channel_progress[slide.id].get('completed') else None"
+ t-att-href="'#' if slide.question_ids or channel_progress[slide.id].get('completed') else '/slides/slide/%s/set_completed?%s' % (slide.id, 'next_slide_id=%s' % (next_slide.id) if next_slide else '')">
Set Done
</a>
- <a class="btn btn-light border" role="button"
- t-att-disabled="'disabled' if not next_slide else None"
- t-att-href="'/slides/slide/%s' % (slug(next_slide)) if next_slide else '#'">Next <i class="fa fa-chevron-right ml-2"></i></a>
- <a class="btn btn-light border ml-2" role="button"
- t-att-disabled="'disabled' if slide.channel_id.channel_type != 'training' else None"
- t-att-href="'/slides/slide/%s?fullscreen=1' % (slug(slide))"><i class="fa fa-desktop mr-2"></i> Fullscreen</a>
+ <a t-att-class="'btn btn-light border %s' % ('disabled' if not next_slide else '')"
+ role="button" t-att-aria-disabled="'disabled' if not next_slide else None"
+ t-att-href="'/slides/slide/%s' % (slug(next_slide)) if next_slide else '#'">
+ Next <i class="fa fa-chevron-right ml-2"></i>
+ </a>
+ <a t-att-class="'btn btn-light border ml-2 %s' % ('disabled' if slide.channel_id.channel_type != 'training' else '')"
+ role="button" t-att-aria-disabled="'disabled' if slide.channel_id.channel_type != 'training' else None"
+ t-att-href="'/slides/slide/%s?fullscreen=1' % (slug(slide)) if slide.channel_id.channel_type == 'training' else '#'"><i class="fa fa-desktop mr-2"></i> Fullscreen</a>
</div>
</div>
<div t-if="slide.tag_ids" class="col">