summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlaa <laa@odoo.com>2019-09-13 13:05:31 +0000
committerlaa <laa@odoo.com>2019-09-13 13:05:31 +0000
commit443b44c971bafe1d5594fbc76e47340ec17088d8 (patch)
tree37369341fd7b50bf9039a9aedd598c8bae91b3c8
parenta9b762870651e607b244d8fd5681a9f3557cc0e9 (diff)
[IMP] website_slide: add toggle button achievement
Add an option to add the latest achievements in the right sidebar. closes odoo/odoo#36870 Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
-rw-r--r--addons/website_slides/controllers/main.py5
-rw-r--r--addons/website_slides/views/website_slides_templates_homepage.xml39
2 files changed, 27 insertions, 17 deletions
diff --git a/addons/website_slides/controllers/main.py b/addons/website_slides/controllers/main.py
index cd363b1f1e5..669633fb66c 100644
--- a/addons/website_slides/controllers/main.py
+++ b/addons/website_slides/controllers/main.py
@@ -245,13 +245,11 @@ class WebsiteSlides(WebsiteProfile):
channels_popular = channels_all.sorted('total_votes', reverse=True)[:3]
channels_newest = channels_all.sorted('create_date', reverse=True)[:3]
- # fetch 'latests achievements' for non logged people
+ achievements = request.env['gamification.badge.user'].sudo().search([('badge_id.is_published', '=', True)], limit=5)
if request.env.user._is_public():
- achievements = request.env['gamification.badge.user'].sudo().search([('badge_id.is_published', '=', True)], limit=5)
challenges = None
challenges_done = None
else:
- achievements = None
challenges = request.env['gamification.challenge'].sudo().search([
('category', '=', 'slides'),
('reward_id.is_published', '=', True)
@@ -262,7 +260,6 @@ class WebsiteSlides(WebsiteProfile):
('badge_id.is_published', '=', True)
]).mapped('challenge_id')
- # fetch 'heroes of the week' for non logged people
users = request.env['res.users'].sudo().search([
('karma', '>', 0),
('website_published', '=', True)], limit=5, order='karma desc')
diff --git a/addons/website_slides/views/website_slides_templates_homepage.xml b/addons/website_slides/views/website_slides_templates_homepage.xml
index 5270ad3c532..e651d70722b 100644
--- a/addons/website_slides/views/website_slides_templates_homepage.xml
+++ b/addons/website_slides/views/website_slides_templates_homepage.xml
@@ -81,19 +81,24 @@
<div class="container o_wslides_home_main">
<div class="row">
- <div t-if="is_public_user" class="col-lg-3 order-3 order-lg-2">
- <div class="row">
- <div class="col-12 col-md-7 col-lg-12">
- <t t-call="website_slides.slides_home_achievements_small"/>
- </div>
- <div class="col-12 col-md-5 col-lg-12 mt-5 mt-md-0">
- <div class="pl-md-5 pl-lg-0 mt-lg-4">
- <t t-call="website_slides.slides_home_users_small"/>
+ <t t-set="is_achievements_active" t-value="request.website.viewref('website_slides.toggle_latest_achievements').active"/>
+ <t t-set="has_side_column" t-value="request.website.viewref('website_slides.toggle_leaderboard').active or is_achievements_active"/>
+ <t t-if="is_public_user">
+ <div t-if="has_side_column" class="col-lg-3 order-3 order-lg-2">
+ <div class="row">
+ <div class="col-12 col-md-7 col-lg-12">
+ <t t-call="website_slides.slides_home_achievements_small"/>
+ </div>
+ <div class="col-12 col-md-5 col-lg-12 mt-5 mt-md-0">
+ <div t-att-class="'pl-md-5 pl-lg-0 mt-lg-4' if is_achievements_active else 'pl-md-5 pl-lg-0'">
+ <t t-call="website_slides.slides_home_users_small"/>
+ </div>
</div>
</div>
</div>
- </div>
+ </t>
<div t-else="" class="col-lg-3 order-lg-2">
+ <t t-set="has_side_column" t-value="True"/>
<div class="o_wslides_home_aside_loggedin card p-3 p-lg-0 mb-4">
<div class="o_wslides_home_aside_title">
<div class="d-flex align-items-center">
@@ -116,6 +121,9 @@
<div class="col-12 col-sm-6 col-lg-12 d-flex align-items-center">
<t t-call="website_slides.slides_home_user_achievements_small"/>
</div>
+ <div class="col-12 col-md-7 col-lg-12 pl-md-5 pl-lg-0 mt-lg-4">
+ <t t-call="website_slides.slides_home_achievements_small"/>
+ </div>
<div class="col-12 col-sm-6 col-lg-12 pl-md-5 pl-lg-0 mt-lg-4">
<t t-call="website_slides.slides_home_users_small"/>
</div>
@@ -123,7 +131,7 @@
</div>
</div>
</div>
- <div class="col-lg-9 pr-lg-5 order-lg-1">
+ <div t-att-class="'col-lg-9 pr-lg-5 order-lg-1' if has_side_column else 'col-lg pr-lg'">
<div class="o_wslides_home_content_section mb-3"
t-if="not channels_popular">
<p class="h2">No Course created yet.</p>
@@ -336,8 +344,13 @@
</div>
</template>
-<template id='slides_home_achievements_small' name="Latest Achievements">
- <div class="o_wslides_home_aside">
+<template id='slides_home_achievements_small' name="Users">
+ <t class="o_wslides_home_aside">
+ </t>
+</template>
+
+<template id="toggle_latest_achievements" inherit_id="website_slides.slides_home_achievements_small" active="True" customize_show="True" name='Display Achievements'>
+ <xpath expr="//t[hasclass('o_wslides_home_aside')]" position="inside">
<div class="row o_wslides_home_aside_title">
<div class="col">
<h5 class="m-0">Latest achievements</h5>
@@ -354,7 +367,7 @@
</t>
<t t-else=""><p class="col mt8">No achievements currently :(</p></t>
</div>
- </div>
+ </xpath>
</template>
<template id='achievement_card' name="Achivement Card">