diff options
| author | laa <laa@odoo.com> | 2019-09-13 13:05:31 +0000 |
|---|---|---|
| committer | laa <laa@odoo.com> | 2019-09-13 13:05:31 +0000 |
| commit | 443b44c971bafe1d5594fbc76e47340ec17088d8 (patch) | |
| tree | 37369341fd7b50bf9039a9aedd598c8bae91b3c8 | |
| parent | a9b762870651e607b244d8fd5681a9f3557cc0e9 (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.py | 5 | ||||
| -rw-r--r-- | addons/website_slides/views/website_slides_templates_homepage.xml | 39 |
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"> |
