[FIX] im_livechat: fix session demo data
This PR fixes some issues present in the livechat demo data: - anonymous name should be given to the channel, and should be the name of the visitor not the one of the channel. - odoobot should not be a member of the channel (done by default when creating a channel but making those channels that are supposed to be one-to-one channels a group channel) At the same time, this PR fixes an issue with the thread model that contained clear commands instead of null value. part of task-3332872 closes odoo/odoo#126219 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
<field name="livechat_channel_id" ref="im_livechat_channel_data"/>
|
||||
<field name="livechat_operator_id" ref="base.partner_admin"/>
|
||||
<field name="name">Visitor #234, Mitchell Admin</field>
|
||||
<field name="anonymous_name">Visitor #234, Mitchell Admin</field>
|
||||
<field name="anonymous_name">Visitor #234</field>
|
||||
</record>
|
||||
<record id="im_livechat.livechat_channel_session_1_member_admin" model="discuss.channel.member">
|
||||
<field name="partner_id" ref="base.partner_admin"/>
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
<field name="livechat_channel_id" ref="im_livechat.im_livechat_channel_data"/>
|
||||
<field name="create_date" eval="datetime.now() - timedelta(days=1)"/>
|
||||
<field name="channel_type">livechat</field>
|
||||
<field name="anonymous_name">Visitor</field>
|
||||
<field name="country_id" ref="base.be"/>
|
||||
</record>
|
||||
<record id="im_livechat.livechat_channel_session_10_member_admin" model="discuss.channel.member">
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
<field name="livechat_channel_id" ref="im_livechat.im_livechat_channel_data"/>
|
||||
<field name="create_date" eval="datetime.now()"/>
|
||||
<field name="channel_type">livechat</field>
|
||||
<field name="anonymous_name">Visitor</field>
|
||||
<field name="country_id" ref="base.us"/>
|
||||
</record>
|
||||
<record id="im_livechat.livechat_channel_session_11_member_admin" model="discuss.channel.member">
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<field name="livechat_channel_id" ref="im_livechat_channel_data"/>
|
||||
<field name="livechat_operator_id" ref="base.partner_demo"/>
|
||||
<field name="name">Visitor #323, Marc Demo</field>
|
||||
<field name="anonymous_name">Visitor #323, Marc Demo</field>
|
||||
<field name="anonymous_name">Visitor #323</field>
|
||||
</record>
|
||||
<record id="im_livechat.livechat_channel_session_2_member_demo" model="discuss.channel.member">
|
||||
<field name="partner_id" ref="base.partner_demo"/>
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<field name="livechat_channel_id" ref="im_livechat_channel_data"/>
|
||||
<field name="livechat_operator_id" ref="base.partner_admin"/>
|
||||
<field name="name">Joel Willis, Mitchell Admin</field>
|
||||
<field name="anonymous_name">Joel Willis, Mitchell Admin</field>
|
||||
<field name="anonymous_name">Joel Willis</field>
|
||||
</record>
|
||||
<record id="im_livechat.livechat_channel_session_3_member_admin" model="discuss.channel.member">
|
||||
<field name="partner_id" ref="base.partner_admin"/>
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<field name="livechat_channel_id" ref="im_livechat_channel_data"/>
|
||||
<field name="livechat_operator_id" ref="base.partner_demo"/>
|
||||
<field name="name">Joel Willis, Marc Demo</field>
|
||||
<field name="anonymous_name">Joel Willis, Marc Demo</field>
|
||||
<field name="anonymous_name">Joel Willis</field>
|
||||
</record>
|
||||
<record id="im_livechat.livechat_channel_session_4_member_demo" model="discuss.channel.member">
|
||||
<field name="partner_id" ref="base.partner_demo"/>
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<field name="livechat_channel_id" ref="im_livechat_channel_data"/>
|
||||
<field name="livechat_operator_id" ref="base.partner_admin"/>
|
||||
<field name="name">Visitor #532, Mitchell Admin</field>
|
||||
<field name="anonymous_name">Visitor #532, Mitchell Admin</field>
|
||||
<field name="anonymous_name">Visitor #532</field>
|
||||
</record>
|
||||
<record id="im_livechat.livechat_channel_session_5_member_admin" model="discuss.channel.member">
|
||||
<field name="partner_id" ref="base.partner_admin"/>
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<field name="livechat_channel_id" ref="im_livechat_channel_data"/>
|
||||
<field name="livechat_operator_id" ref="base.partner_admin"/>
|
||||
<field name="name">Visitor #649, Mitchell Admin</field>
|
||||
<field name="anonymous_name">Visitor #649, Mitchell Admin</field>
|
||||
<field name="anonymous_name">Visitor #649</field>
|
||||
</record>
|
||||
<record id="im_livechat.livechat_channel_session_6_member_admin" model="discuss.channel.member">
|
||||
<field name="partner_id" ref="base.partner_admin"/>
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<field name="livechat_channel_id" ref="im_livechat_channel_data"/>
|
||||
<field name="livechat_operator_id" ref="base.partner_admin"/>
|
||||
<field name="name">Joel Willis, Mitchell Admin</field>
|
||||
<field name="anonymous_name">Joel Willis, Mitchell Admin</field>
|
||||
<field name="anonymous_name">Joel Willis</field>
|
||||
</record>
|
||||
<record id="im_livechat.livechat_channel_session_7_member_admin" model="discuss.channel.member">
|
||||
<field name="partner_id" ref="base.partner_admin"/>
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<field name="livechat_channel_id" ref="im_livechat_channel_data"/>
|
||||
<field name="livechat_operator_id" ref="base.partner_demo"/>
|
||||
<field name="name">Visitor #722, Marc Demo</field>
|
||||
<field name="anonymous_name">Visitor #722, Marc Demo</field>
|
||||
<field name="anonymous_name">Visitor #722</field>
|
||||
</record>
|
||||
<record id="im_livechat.livechat_channel_session_8_member_demo" model="discuss.channel.member">
|
||||
<field name="partner_id" ref="base.partner_demo"/>
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
<field name="livechat_channel_id" ref="im_livechat.im_livechat_channel_data"/>
|
||||
<field name="create_date" eval="datetime.now() - timedelta(days=1)"/>
|
||||
<field name="channel_type">livechat</field>
|
||||
<field name="anonymous_name">Visitor</field>
|
||||
</record>
|
||||
<record id="im_livechat.livechat_channel_session_9_member_admin" model="discuss.channel.member">
|
||||
<field name="partner_id" ref="base.partner_admin"/>
|
||||
|
||||
@@ -36,8 +36,8 @@ patch(Thread.prototype, "im_livechat", {
|
||||
if (!this.correspondent.is_public && this.correspondent.country) {
|
||||
return `${this.getMemberName(this.correspondent)} (${this.correspondent.country.name})`;
|
||||
}
|
||||
if (this.anonymous_country) {
|
||||
return `${this.getMemberName(this.correspondent)} (${this.anonymous_country.name})`;
|
||||
if (this.channel?.anonymous_country) {
|
||||
return `${this.getMemberName(this.correspondent)} (${this.channel.anonymous_country.name})`;
|
||||
}
|
||||
return this.getMemberName(this.correspondent);
|
||||
},
|
||||
|
||||
@@ -237,9 +237,11 @@ class Channel(models.Model):
|
||||
raise ValidationError(_('Invalid value when creating a channel with memberships, only 0 is allowed.'))
|
||||
membership_pids = [cmd[2]['partner_id'] for cmd in membership_ids_cmd if cmd[0] == 0]
|
||||
|
||||
partner_ids_to_add = partner_ids
|
||||
# always add current user to new channel to have right values for
|
||||
# is_pinned + ensure they have rights to see channel
|
||||
partner_ids_to_add = list(set(partner_ids + [self.env.user.partner_id.id]))
|
||||
if not self.env.context.get('install_mode'):
|
||||
partner_ids_to_add = list(set(partner_ids + [self.env.user.partner_id.id]))
|
||||
vals['channel_member_ids'] = membership_ids_cmd + [
|
||||
(0, 0, {'partner_id': pid})
|
||||
for pid in partner_ids_to_add if pid not in membership_pids
|
||||
|
||||
@@ -10,7 +10,7 @@ import {
|
||||
replaceArrayWithCompare,
|
||||
} from "@mail/utils/common/arrays";
|
||||
import { prettifyMessageContent } from "@mail/utils/common/format";
|
||||
import { assignDefined, createLocalId, onChange } from "@mail/utils/common/misc";
|
||||
import { assignDefined, createLocalId, onChange, nullifyClearCommands } from "@mail/utils/common/misc";
|
||||
|
||||
import { markup } from "@odoo/owl";
|
||||
|
||||
@@ -692,6 +692,7 @@ export class ThreadService {
|
||||
}
|
||||
thread.lastServerMessageId = serverData.last_message_id ?? thread.lastServerMessageId;
|
||||
if (thread.model === "discuss.channel" && serverData.channel) {
|
||||
nullifyClearCommands(serverData.channel);
|
||||
thread.channel = assignDefined(thread.channel ?? {}, serverData.channel);
|
||||
}
|
||||
|
||||
|
||||
@@ -142,7 +142,7 @@ class TestDiscussFullPerformance(TransactionCase):
|
||||
}], key=lambda member_data: member_data['id']))],
|
||||
'custom_channel_name': False,
|
||||
'id': self.channel_general.id,
|
||||
'memberCount': len(self.group_user.users | self.user_root),
|
||||
'memberCount': len(self.group_user.users),
|
||||
'message_unread_counter': 5,
|
||||
},
|
||||
'create_uid': self.user_root.id,
|
||||
|
||||
Reference in New Issue
Block a user