diff options
| author | Alexandre Kühn <aku@odoo.com> | 2018-07-04 15:57:03 +0200 |
|---|---|---|
| committer | Alexandre Kühn <aku@odoo.com> | 2018-07-19 13:58:34 +0200 |
| commit | 915da49d173e9ab8d0c6d94cbeec124c83d23fc7 (patch) | |
| tree | d7fe30d4a4c7f1a6923b88c91ac98582ee6500f4 /addons/im_support/static/src | |
| parent | ec8c505bc1c9ec21939e9ffef53a9cc6f63f30c7 (diff) | |
[IMP] mail, *: template rendering with abstract thread, adapt thread instantiation, thread `getMessages`/`fetchMessages`, and create mode document thread.
* = im_livechat, im_support
- thread widget now uses abstract thread in `render` method
- thread models have their `init` parameters changed, so that the parent may be optional
- reworked 'creating a new record...' in chatter in create mode:
> new model CreateModeDocumentThread, which basically is a fake document thread
with a fake message for its rendering in create mode of the chatter
> special rendering method of thread_widget for such case: `renderChatterCreateMode`
- renamed thread methods previously named `getMessages` to `fetchMessages`:
> in order to not conflict with `getMessages`, used for rendering
> now, `getMessages` always get messages that are locally,
while `fetchMessages` may fetch messages.
TODO:
- special thread model for im_livechat (rendering is broken ATM)
Diffstat (limited to 'addons/im_support/static/src')
| -rw-r--r-- | addons/im_support/static/src/js/mail_manager.js | 7 | ||||
| -rw-r--r-- | addons/im_support/static/src/js/support_channel.js | 15 |
2 files changed, 20 insertions, 2 deletions
diff --git a/addons/im_support/static/src/js/mail_manager.js b/addons/im_support/static/src/js/mail_manager.js index b25b47cc1ba..56ea4b736b6 100644 --- a/addons/im_support/static/src/js/mail_manager.js +++ b/addons/im_support/static/src/js/mail_manager.js @@ -169,7 +169,12 @@ MailManager.include({ */ _makeChannel: function (data, options) { if (data.id === this.supportChannelUUID) { - return new SupportChannel(this, data, options, this._commands); + return new SupportChannel({ + parent: this, + data: data, + options: options, + commands: this._commands + }); } return this._super.apply(this, arguments); }, diff --git a/addons/im_support/static/src/js/support_channel.js b/addons/im_support/static/src/js/support_channel.js index adcf2a0c51e..dee74a6650d 100644 --- a/addons/im_support/static/src/js/support_channel.js +++ b/addons/im_support/static/src/js/support_channel.js @@ -20,7 +20,20 @@ var _t = core._t; * mail.model.ThreadWithCache */ var SupportChannel = ThreadWithCache.extend({ - init: function (parent, data, options) { + /** + * @param {Object} params + * @param {Object} params.data + * @param {boolean} params.data.available + * @param {string|integer} params.data.id + * @param {boolean} params.data.is_minimized + * @param {Object} params.data.operator + * @param {string} params.data.state ['open', 'closed', 'folded'] + * @param {string} params.data.uuid + * @param {string} params.data.welcome_message + * @param {Object} params.options + */ + init: function (params) { + var data = params.data; data.type = 'support_channel'; data.name = _t("Support"); |
