From 42a24e4146237b28f1a62aa0716bc2d3fe817500 Mon Sep 17 00:00:00 2001 From: mcm-odoo Date: Tue, 22 Oct 2019 07:01:32 +0000 Subject: [PATCH] [IMP] website_slides: add progressbar and completed tag - Teacher can now see the progress of his students on the attendees' list. - The completion of a course was recomputed even if the course is completed now it's fixed to 100 when completed. - Added a progressbar in course page in front-end to allow the user to see it's progression. When completed, the tag completed is displayed instead of the progressbar. - On slide page in front-end(normal view or fullscreen) when a course is completed, display the tag completed instead of the progressbar. - Removed completed state on course "Taking care of Trees" for portal user because it was not the case. task-2049689 closes odoo/odoo#36608 Signed-off-by: Thibault Delavallee (tde) --- .../website_slides/data/slide_user_demo.xml | 1 - addons/website_slides/models/slide_channel.py | 4 +- .../views/slide_channel_partner_views.xml | 3 +- .../views/website_slides_templates_course.xml | 38 +++++++++++++------ .../views/website_slides_templates_lesson.xml | 5 ++- ...ite_slides_templates_lesson_fullscreen.xml | 17 ++++++--- 6 files changed, 45 insertions(+), 23 deletions(-) diff --git a/addons/website_slides/data/slide_user_demo.xml b/addons/website_slides/data/slide_user_demo.xml index 263d3ea443b..a9fed3c39a1 100644 --- a/addons/website_slides/data/slide_user_demo.xml +++ b/addons/website_slides/data/slide_user_demo.xml @@ -143,7 +143,6 @@ - diff --git a/addons/website_slides/models/slide_channel.py b/addons/website_slides/models/slide_channel.py index 9c225632a40..070524db415 100644 --- a/addons/website_slides/models/slide_channel.py +++ b/addons/website_slides/models/slide_channel.py @@ -38,7 +38,7 @@ class ChannelUsersRelation(models.Model): partner_karma = dict.fromkeys(self.mapped('partner_id').ids, 0) for record in self: record.completed_slides_count = mapped_data.get(record.channel_id.id, dict()).get(record.partner_id.id, 0) - record.completion = round(100.0 * record.completed_slides_count / (record.channel_id.total_slides or 1)) + record.completion = 100.0 if record.completed else round(100.0 * record.completed_slides_count / (record.channel_id.total_slides or 1)) if not record.completed and record.completed_slides_count >= record.channel_id.total_slides: record.completed = True partner_karma[record.partner_id.id] += record.channel_id.karma_gen_channel_finish @@ -265,7 +265,7 @@ class Channel(models.Model): for record in self: completed, completed_slides_count = mapped_data.get(record.id, (False, 0)) record.completed = completed - record.completion = round(100.0 * completed_slides_count / (record.total_slides or 1)) + record.completion = 100.0 if completed else round(100.0 * completed_slides_count / (record.total_slides or 1)) @api.depends('upload_group_ids', 'user_id') @api.depends_context('uid') diff --git a/addons/website_slides/views/slide_channel_partner_views.xml b/addons/website_slides/views/slide_channel_partner_views.xml index 05720fcfb03..fb4133e5b85 100644 --- a/addons/website_slides/views/slide_channel_partner_views.xml +++ b/addons/website_slides/views/slide_channel_partner_views.xml @@ -29,7 +29,8 @@ - + + +
+ + Completed + + +
+
+
+
+ % +
+
+
+
diff --git a/addons/website_slides/views/website_slides_templates_lesson.xml b/addons/website_slides/views/website_slides_templates_lesson.xml index bfe35524f19..47ebb5c8cfc 100644 --- a/addons/website_slides/views/website_slides_templates_lesson.xml +++ b/addons/website_slides/views/website_slides_templates_lesson.xml @@ -15,6 +15,9 @@

+ + Completed +

@@ -22,7 +25,7 @@
-
+
-
-
-
-
- % -
+ + Completed + + +
+
+
+
+ % +
+