diff --git a/addons/website_slides/models/slide_slide.py b/addons/website_slides/models/slide_slide.py index c71d9acb441..ef72a717257 100644 --- a/addons/website_slides/models/slide_slide.py +++ b/addons/website_slides/models/slide_slide.py @@ -181,8 +181,8 @@ class Slide(models.Model): slide_data[slide_partner.slide_id.id]['dislikes'] += 1 if slide_partner.partner_id == self.env.user.partner_id: slide_data[slide_partner.slide_id.id]['user_vote'] = -1 - for slide_sudo in self.sudo(): - slide_sudo.update(slide_data[slide_sudo.id]) + for slide in self: + slide.update(slide_data[slide.id]) @api.depends('slide_partner_ids.slide_id') def _compute_slide_views(self): diff --git a/addons/website_slides/tests/test_statistics.py b/addons/website_slides/tests/test_statistics.py index 8068c073bf3..bd067ba8216 100644 --- a/addons/website_slides/tests/test_statistics.py +++ b/addons/website_slides/tests/test_statistics.py @@ -91,6 +91,27 @@ class TestStatistics(common.SlidesCase): with self.assertRaises(UserError): slides_emp.action_set_viewed() + def test_slide_user_statistics(self): + channel_publisher = self.channel.sudo(self.user_publisher) + channel_publisher._action_add_members(self.user_emp.partner_id) + + slide_emp = self.slide.sudo(self.user_emp) + self.assertEqual(slide_emp.likes, 0) + self.assertEqual(slide_emp.dislikes, 0) + self.assertEqual(slide_emp.user_vote, 0) + slide_emp.action_like() + self.assertEqual(slide_emp.likes, 1) + self.assertEqual(slide_emp.dislikes, 0) + self.assertEqual(slide_emp.user_vote, 1) + slide_emp.action_dislike() + self.assertEqual(slide_emp.likes, 0) + self.assertEqual(slide_emp.dislikes, 0) + self.assertEqual(slide_emp.user_vote, 0) + slide_emp.action_dislike() + self.assertEqual(slide_emp.likes, 0) + self.assertEqual(slide_emp.dislikes, 1) + self.assertEqual(slide_emp.user_vote, -1) + def test_slide_statistics(self): channel_publisher = self.channel.sudo(self.user_publisher) channel_publisher._action_add_members(self.user_emp.partner_id) @@ -106,7 +127,6 @@ class TestStatistics(common.SlidesCase): slide_emp = self.slide.sudo(self.user_emp) slide_emp.action_set_viewed() - # slide_emp.invalidate_cache() self.assertEqual(slide_emp.slide_views, 1) self.assertEqual(slide_emp.public_views, 4)