[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
This commit is contained in:
@@ -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',
|
||||
|
||||
@@ -1,6 +1,20 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo><data noupdate="1">
|
||||
|
||||
<!-- First of all: remove admin of all memberships to avoid noisy demo data -->
|
||||
<function model="slide.channel"
|
||||
name="_remove_membership"
|
||||
eval="[
|
||||
[ref('website_slides.slide_channel_demo_0_gard_0'),
|
||||
ref('website_slides.slide_channel_demo_1_gard1'),
|
||||
ref('website_slides.slide_channel_demo_2_gard2'),
|
||||
ref('website_slides.slide_channel_demo_3_furn0'),
|
||||
ref('website_slides.slide_channel_demo_4_furn1'),
|
||||
ref('website_slides.slide_channel_demo_5_furn2'),
|
||||
ref('website_slides.slide_channel_demo_6_furn3')],
|
||||
[ref('base.partner_admin')]
|
||||
]"/>
|
||||
|
||||
<!-- CHANNEL 0: Basics of Gardening -->
|
||||
<!-- ================================================== -->
|
||||
<record id="slide_channel_0_partner_admin" model="slide.channel.partner">
|
||||
|
||||
@@ -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)]
|
||||
])
|
||||
|
||||
|
||||
@@ -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',
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user