diff options
| author | Thibault Delavallée <tde@odoo.com> | 2019-03-22 15:07:15 +0000 |
|---|---|---|
| committer | Thibault Delavallée <tde@odoo.com> | 2019-03-25 12:18:28 +0000 |
| commit | eb045af67600786f1f0e3cb2a2d6f50f5981158b (patch) | |
| tree | dec172192312ea4b037464091999d9808277286e | |
| parent | ed4a457f1214dca63b3883d745f2b04bf1aa1c85 (diff) | |
[FIX] website_slides: remove unnecessary sudo in computed field
As we always update slide / partner relationship using sudo let us remove
unnecessary sudo in the computed field.
Tests are added to ensure it is effectively working. At least probably.
Commit linked to task ID 1958810 and PR #32057
| -rw-r--r-- | addons/website_slides/models/slide_slide.py | 4 | ||||
| -rw-r--r-- | addons/website_slides/tests/test_statistics.py | 22 |
2 files changed, 23 insertions, 3 deletions
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) |
