diff --git a/addons/hr_skills_slides/models/slide_channel.py b/addons/hr_skills_slides/models/slide_channel.py index 58609b6d6db..48f56b240cf 100644 --- a/addons/hr_skills_slides/models/slide_channel.py +++ b/addons/hr_skills_slides/models/slide_channel.py @@ -56,8 +56,8 @@ class SlideChannelPartner(models.Model): class Channel(models.Model): _inherit = 'slide.channel' - def _action_add_members(self, target_partners, **member_values): - res = super()._action_add_members(target_partners, **member_values) + def _action_add_members(self, target_partners): + res = super()._action_add_members(target_partners) for channel in self: channel._message_employee_chatter( _('The employee subscribed to the course %(course)s', link=channel.website_url, course=channel.name), diff --git a/addons/website_sale_slides/models/slide_channel.py b/addons/website_sale_slides/models/slide_channel.py index de0c3dddb4e..e03b567b1d0 100644 --- a/addons/website_sale_slides/models/slide_channel.py +++ b/addons/website_sale_slides/models/slide_channel.py @@ -76,10 +76,10 @@ class Channel(models.Model): action['domain'] = [('product_id', 'in', self.product_id.ids)] return action - def _filter_add_members(self, target_partners, **member_values): + def _filter_add_members(self, target_partners): """ Overridden to add 'payment' channels to the filtered channels. People that can write on payment-based channels can add members. """ - result = super(Channel, self)._filter_add_members(target_partners, **member_values) + result = super(Channel, self)._filter_add_members(target_partners) on_payment = self.filtered(lambda channel: channel.enroll == 'payment') if on_payment: try: diff --git a/addons/website_slides/controllers/main.py b/addons/website_slides/controllers/main.py index 46754379432..3739bfa6961 100644 --- a/addons/website_slides/controllers/main.py +++ b/addons/website_slides/controllers/main.py @@ -648,14 +648,14 @@ class WebsiteSlides(WebsiteProfile): # TDE FIXME: why 2 routes ? if not request.website.is_public_user(): channel = request.env['slide.channel'].browse(int(channel_id)) - channel.action_add_member() + channel._action_add_member() return request.redirect("/slides/%s" % (slug(channel))) @http.route(['/slides/channel/join'], type='json', auth='public', website=True) def slide_channel_join(self, channel_id): if request.website.is_public_user(): return {'error': 'public_user', 'error_signup_allowed': request.env['res.users'].sudo()._get_signup_invitation_scope() == 'b2c'} - success = request.env['slide.channel'].browse(channel_id).action_add_member() + success = request.env['slide.channel'].browse(channel_id)._action_add_member() if not success: return {'error': 'join_done'} return success diff --git a/addons/website_slides/models/slide_channel.py b/addons/website_slides/models/slide_channel.py index 1e01f25a290..6530d7ef615 100644 --- a/addons/website_slides/models/slide_channel.py +++ b/addons/website_slides/models/slide_channel.py @@ -677,20 +677,20 @@ class Channel(models.Model): 'context': local_context, } - def action_add_member(self, **member_values): + def _action_add_member(self): """ Adds the logged in user in the channel members. (see '_action_add_members' for more info) Returns True if added successfully, False otherwise.""" - return bool(self._action_add_members(self.env.user.partner_id, **member_values)) + return bool(self._action_add_members(self.env.user.partner_id)) - def _action_add_members(self, target_partners, **member_values): + def _action_add_members(self, target_partners): """ Add the target_partner as a member of the channel (to its slide.channel.partner). This will make the content (slides) of the channel available to that partner. Returns the added 'slide.channel.partner's (! as sudo !) """ - to_join = self._filter_add_members(target_partners, **member_values) + to_join = self._filter_add_members(target_partners) if to_join: existing = self.env['slide.channel.partner'].sudo().search([ ('channel_id', 'in', self.ids), @@ -701,7 +701,7 @@ class Channel(models.Model): existing_map[item.channel_id.id].append(item.partner_id.id) to_create_values = [ - dict(channel_id=channel.id, partner_id=partner.id, **member_values) + dict(channel_id=channel.id, partner_id=partner.id) for channel in to_join for partner in target_partners if partner.id not in existing_map[channel.id] ] @@ -710,7 +710,7 @@ class Channel(models.Model): return slide_partners_sudo return self.env['slide.channel.partner'].sudo() - def _filter_add_members(self, target_partners, **member_values): + def _filter_add_members(self, target_partners): allowed = self.filtered(lambda channel: channel.enroll == 'public') on_invite = self.filtered(lambda channel: channel.enroll == 'invite') if on_invite: diff --git a/addons/website_slides/tests/test_gamification_karma.py b/addons/website_slides/tests/test_gamification_karma.py index d5c640a6d20..99d8b149fe6 100644 --- a/addons/website_slides/tests/test_gamification_karma.py +++ b/addons/website_slides/tests/test_gamification_karma.py @@ -45,7 +45,7 @@ class TestKarmaGain(common.SlidesCase): def test_karma_change_vote(self): """ Test like / dislike only karma changes """ channel = self.channel_2.with_user(self.env.user) - channel.action_add_member() + channel._action_add_member() start_karma = self.env.user.karma diff --git a/addons/website_slides/tests/test_statistics.py b/addons/website_slides/tests/test_statistics.py index c98f9366cf0..7e6dfdb665b 100644 --- a/addons/website_slides/tests/test_statistics.py +++ b/addons/website_slides/tests/test_statistics.py @@ -48,7 +48,7 @@ class TestChannelStatistics(common.SlidesCase): self.assertEqual(float_compare(channel_publisher.total_time, sum(s.completion_time for s in channel_publisher.slide_content_ids), 3), 0) # members computation self.assertEqual(channel_publisher.members_count, 1) - channel_publisher.action_add_member() + channel_publisher._action_add_member() self.assertEqual(channel_publisher.members_count, 1) channel_publisher._action_add_members(self.user_emp.partner_id) channel_publisher.invalidate_recordset(['partner_ids'])