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 @@ -