[IMP] mail: stop registering chatter container as messaging component

No container should be registered as messaging component. ChatterContainer is the
last one registering itself as such. This PR solves this issue.

closes odoo/odoo#92541

Related: odoo/enterprise#27905
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
This commit is contained in:
tsm-odoo
2022-05-31 19:17:49 +02:00
parent 89c8abce53
commit 889eed4a7a
3 changed files with 10 additions and 8 deletions
@@ -1,7 +1,10 @@
/** @odoo-module **/
import { registerMessagingComponent } from '@mail/utils/messaging_component';
import { useModels } from '@mail/component_hooks/use_models';
// ensure components are registered beforehand.
import '@mail/components/chatter/chatter';
import { clear } from '@mail/model/model_field_command';
import { getMessagingComponent } from "@mail/utils/messaging_component";
const { Component, onWillDestroy, onWillUpdateProps } = owl;
@@ -27,6 +30,7 @@ export class ChatterContainer extends Component {
* @override
*/
setup() {
useModels();
super.setup();
this.chatter = undefined;
this.chatterId = getChatterNextTemporaryId();
@@ -87,6 +91,7 @@ export class ChatterContainer extends Component {
}
Object.assign(ChatterContainer, {
components: { Chatter: getMessagingComponent('Chatter') },
props: {
hasActivities: {
type: Boolean,
@@ -128,5 +133,3 @@ Object.assign(ChatterContainer, {
},
template: 'mail.ChatterContainer',
});
registerMessagingComponent(ChatterContainer);
@@ -1,8 +1,6 @@
/** @odoo-module **/
// ensure component is registered beforehand.
import '@mail/components/chatter_container/chatter_container';
import { getMessagingComponent } from "@mail/utils/messaging_component";
import { ChatterContainer } from '@mail/components/chatter_container/chatter_container';
import FormRenderer from 'web.FormRenderer';
import { ComponentWrapper } from 'web.OwlCompatibility';
@@ -71,7 +69,7 @@ FormRenderer.include({
const props = this._makeChatterContainerProps();
this._chatterContainerComponent = new ChatterContainerWrapperComponent(
this,
getMessagingComponent("ChatterContainer"),
ChatterContainer,
props
);
// Not in custom_events because other modules may remove this listener
@@ -1,5 +1,6 @@
/** @odoo-module **/
import { ChatterContainer } from '@mail/components/chatter_container/chatter_container';
import { MessagingMenuContainer } from '@mail/components/messaging_menu_container/messaging_menu_container';
import { insertAndReplace, replace } from '@mail/model/model_field_command';
import { getMessagingComponent } from '@mail/utils/messaging_component';
@@ -377,7 +378,7 @@ function getCreateChatterContainerComponent({ afterEvent, env, target }) {
return async function createChatterContainerComponent(props, { waitUntilMessagesLoaded = true } = {}) {
let chatterContainerComponent;
async function func() {
chatterContainerComponent = await createRootMessagingComponent(env, "ChatterContainer", {
chatterContainerComponent = await createRootComponent(env, ChatterContainer, {
props,
target,
});