diff options
| author | Sébastien Theys <seb@odoo.com> | 2020-06-25 10:12:17 +0000 |
|---|---|---|
| committer | Sébastien Theys <seb@odoo.com> | 2020-06-25 12:54:26 +0000 |
| commit | 6da8fac5f46a0040fe8185e83a3f6a4a3c653464 (patch) | |
| tree | ead63ef392215221f4eb6a1431a6e3660bc390b6 /addons/mail_bot/static/src/models/messaging_initializer/messaging_initializer.js | |
| parent | 7ab957d7b07e53d23872351919bf91de3a340d97 (diff) | |
[FIX] mail_bot: fix OdooBot not starting
- fix initializer start override (typo in method name)
- properly wrap async code in models
- disable OdooBot for System user
- use existing python method to create chat
task-2284584
closes odoo/odoo#53669
X-original-commit: 47bbfeab9e238ab542d16bf4ed17d60ad6aea50d
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
Diffstat (limited to 'addons/mail_bot/static/src/models/messaging_initializer/messaging_initializer.js')
| -rw-r--r-- | addons/mail_bot/static/src/models/messaging_initializer/messaging_initializer.js | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/addons/mail_bot/static/src/models/messaging_initializer/messaging_initializer.js b/addons/mail_bot/static/src/models/messaging_initializer/messaging_initializer.js index 05ee8196b2c..4118b5228ef 100644 --- a/addons/mail_bot/static/src/models/messaging_initializer/messaging_initializer.js +++ b/addons/mail_bot/static/src/models/messaging_initializer/messaging_initializer.js @@ -11,23 +11,28 @@ registerInstancePatchModel('mail.messaging_initializer', 'mail_bot/static/src/mo /** * @private */ - _showOdoobotTimeout() { - setTimeout(() => { - this.env.session.odoobot_initialized = true; - this.env.services.rpc({ - model: 'mail.channel', - method: 'init_odoobot', - }); - }, 2 * 60 * 1000); + async _initializeOdooBot() { + await this.async(() => new Promise(resolve => + this.env.browser.setTimeout(resolve, 2 * 60 * 1000) + )); + const data = await this.async(() => this.env.services.rpc({ + model: 'mail.channel', + method: 'init_odoobot', + })); + if (!data) { + return; + } + this.env.session.odoobot_initialized = true; }, + /** * @override */ - async _start() { + async start() { await this.async(() => this._super()); if ('odoobot_initialized' in this.env.session && !this.env.session.odoobot_initialized) { - this._showOdoobotTimeout(); + this._initializeOdooBot(); } }, }); |
