diff --git a/addons/mass_mailing_slides/views/slide_channel_views.xml b/addons/mass_mailing_slides/views/slide_channel_views.xml
index 9b7f35b202c..66265fa222c 100644
--- a/addons/mass_mailing_slides/views/slide_channel_views.xml
+++ b/addons/mass_mailing_slides/views/slide_channel_views.xml
@@ -5,16 +5,11 @@
slide.channel
-
-
-
+
@@ -23,10 +18,13 @@
slide.channel
-
-
- Mail Attendees
-
+
+
diff --git a/addons/website_slides/models/res_partner.py b/addons/website_slides/models/res_partner.py
index 7f3aaaf9ed2..541947c9035 100644
--- a/addons/website_slides/models/res_partner.py
+++ b/addons/website_slides/models/res_partner.py
@@ -10,6 +10,9 @@ class ResPartner(models.Model):
slide_channel_ids = fields.Many2many(
'slide.channel', 'slide_channel_partner', 'partner_id', 'channel_id',
string='eLearning Courses', groups="website_slides.group_website_slides_officer")
+ slide_channel_completed_ids = fields.One2many(
+ 'slide.channel', string='Completed Courses', compute='_compute_slide_channel_completed_ids',
+ search='_search_slide_channel_completed_ids')
slide_channel_count = fields.Integer(
'Course Count', compute='_compute_slide_channel_count',
groups="website_slides.group_website_slides_officer")
@@ -17,6 +20,17 @@ class ResPartner(models.Model):
'Company Course Count', compute='_compute_slide_channel_company_count',
groups="website_slides.group_website_slides_officer")
+ def _compute_slide_channel_completed_ids(self):
+ for partner in self:
+ partner.slide_channel_completed_ids = self.env['slide.channel.partner'].search([
+ ('partner_id', '=', partner.id),
+ ('completed', '=', True)
+ ]).mapped('channel_id')
+
+ def _search_slide_channel_completed_ids(self, operator, value):
+ cp_done = self.env['slide.channel.partner'].search([('channel_id', operator, value), ('completed', '=', True)])
+ return [('id', 'in', cp_done.partner_id.ids)]
+
@api.depends('is_company')
def _compute_slide_channel_count(self):
read_group_res = self.env['slide.channel.partner'].sudo().read_group(
diff --git a/addons/website_slides/static/src/scss/slide_views.scss b/addons/website_slides/static/src/scss/slide_views.scss
index 035f4699309..6afd73e9423 100644
--- a/addons/website_slides/static/src/scss/slide_views.scss
+++ b/addons/website_slides/static/src/scss/slide_views.scss
@@ -7,6 +7,11 @@ $o-kanban-large-record-width: 400px;
.o_kanban_record {
width: $o-kanban-large-record-width;
}
+ .o_kanban_slides_card_manage_pane {
+ > div {
+ @include o-kanban-dashboard-dropdown-link;
+ }
+ }
}
table.o_section_list_view tr.o_data_row.o_is_section {
diff --git a/addons/website_slides/views/slide_channel_views.xml b/addons/website_slides/views/slide_channel_views.xml
index f207e36a50c..9637ffd2786 100644
--- a/addons/website_slides/views/slide_channel_views.xml
+++ b/addons/website_slides/views/slide_channel_views.xml
@@ -214,20 +214,26 @@
-