From 0eec4d22a2768836891e682ffc172de5a5a23b39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Thu, 12 Sep 2019 11:27:44 +0000 Subject: [PATCH] [FIX] website_slides: avoid admin being twice member of courses Since admin is responsible of all created demo channels and then re-added manually as member in demo data of slide.channel.partner he is actually twice member of some channels. This commit fixes that by resetting its membership status before adding membership demo data. PR #36756 --- .../tests/test_ui_wslides.py | 2 +- addons/website_slides/data/slide_user_demo.xml | 14 ++++++++++++++ addons/website_slides/models/slide_channel.py | 2 +- addons/website_slides/tests/test_ui_wslides.py | 9 ++++----- addons/website_slides_survey/models/survey_user.py | 2 +- 5 files changed, 21 insertions(+), 8 deletions(-) diff --git a/addons/test_website_slides_full/tests/test_ui_wslides.py b/addons/test_website_slides_full/tests/test_ui_wslides.py index c3e4431037a..e8c604dc812 100644 --- a/addons/test_website_slides_full/tests/test_ui_wslides.py +++ b/addons/test_website_slides_full/tests/test_ui_wslides.py @@ -14,7 +14,7 @@ class TestUi(tests.HttpCase): user_demo.write({ 'groups_id': [(5, 0), (4, self.env.ref('base.group_user').id)] }) - self.env.ref('website_slides.slide_channel_demo_6_furn3')._remove_membership(self.env.ref('base.partner_demo')) + self.env.ref('website_slides.slide_channel_demo_6_furn3')._remove_membership(self.env.ref('base.partner_demo').ids) self.phantom_js( '/slides', diff --git a/addons/website_slides/data/slide_user_demo.xml b/addons/website_slides/data/slide_user_demo.xml index 847d2bfa297..263d3ea443b 100644 --- a/addons/website_slides/data/slide_user_demo.xml +++ b/addons/website_slides/data/slide_user_demo.xml @@ -1,6 +1,20 @@ + + + diff --git a/addons/website_slides/models/slide_channel.py b/addons/website_slides/models/slide_channel.py index 11ddec93597..ce37f9e2ce4 100644 --- a/addons/website_slides/models/slide_channel.py +++ b/addons/website_slides/models/slide_channel.py @@ -474,7 +474,7 @@ class Channel(models.Model): for channel in self: removed_channel_partner_domain = expression.OR([ removed_channel_partner_domain, - [('partner_id', 'in', partner_ids.ids), + [('partner_id', 'in', partner_ids), ('channel_id', '=', channel.id)] ]) diff --git a/addons/website_slides/tests/test_ui_wslides.py b/addons/website_slides/tests/test_ui_wslides.py index 7d7b93bcb78..50fd212e698 100644 --- a/addons/website_slides/tests/test_ui_wslides.py +++ b/addons/website_slides/tests/test_ui_wslides.py @@ -13,7 +13,7 @@ class TestUi(tests.HttpCase): user_demo.write({ 'groups_id': [(5, 0), (4, self.env.ref('base.group_user').id)] }) - self.env.ref('website_slides.slide_channel_demo_0_gard_0')._remove_membership(self.env.ref('base.partner_demo')) + self.env.ref('website_slides.slide_channel_demo_0_gard_0')._remove_membership(self.env.ref('base.partner_demo').ids) self.phantom_js( '/slides', @@ -29,7 +29,7 @@ class TestUi(tests.HttpCase): user_demo.write({ 'groups_id': [(5, 0), (4, self.env.ref('base.group_user').id), (4, self.env.ref('website.group_website_publisher').id)] }) - self.env.ref('website_slides.slide_channel_demo_0_gard_0')._remove_membership(self.env.ref('base.partner_demo')) + self.env.ref('website_slides.slide_channel_demo_0_gard_0')._remove_membership(self.env.ref('base.partner_demo').ids) self.phantom_js( '/slides', @@ -42,7 +42,7 @@ class TestUi(tests.HttpCase): # group_website_designer user_portal = self.env.ref('base.demo_user0') user_portal.flush() - self.env.ref('website_slides.slide_channel_demo_0_gard_0')._remove_membership(self.env.ref('base.partner_demo_portal')) + self.env.ref('website_slides.slide_channel_demo_0_gard_0')._remove_membership(self.env.ref('base.partner_demo_portal').ids) self.phantom_js( '/slides', @@ -61,7 +61,7 @@ class TestUiYoutube(tests.HttpCase): user_demo.write({ 'groups_id': [(5, 0), (4, self.env.ref('base.group_user').id)] }) - self.env.ref('website_slides.slide_channel_demo_0_gard_0')._remove_membership(self.env.ref('base.partner_demo')) + self.env.ref('website_slides.slide_channel_demo_3_furn0')._remove_membership(self.env.ref('base.partner_demo').ids) self.phantom_js( '/slides', @@ -77,7 +77,6 @@ class TestUiYoutube(tests.HttpCase): user_demo.write({ 'groups_id': [(5, 0), (4, self.env.ref('base.group_user').id), (4, self.env.ref('website.group_website_designer').id)] }) - self.env.ref('website_slides.slide_channel_demo_0_gard_0')._remove_membership(self.env.ref('base.partner_demo')) self.phantom_js( '/slides', diff --git a/addons/website_slides_survey/models/survey_user.py b/addons/website_slides_survey/models/survey_user.py index ec658874ff5..9824bf78bc7 100644 --- a/addons/website_slides_survey/models/survey_user.py +++ b/addons/website_slides_survey/models/survey_user.py @@ -61,4 +61,4 @@ class SurveyUserInput(models.Model): removed_memberships_per_partner[user_input.partner_id] = removed_memberships for partner_id, removed_memberships in removed_memberships_per_partner.items(): - removed_memberships._remove_membership(partner_id) + removed_memberships._remove_membership(partner_id.ids)