summaryrefslogtreecommitdiff
path: root/addons/im_support/static/src
diff options
context:
space:
mode:
authorAlexandre Kühn <aku@odoo.com>2018-07-04 15:57:03 +0200
committerAlexandre Kühn <aku@odoo.com>2018-07-19 13:58:34 +0200
commit915da49d173e9ab8d0c6d94cbeec124c83d23fc7 (patch)
treed7fe30d4a4c7f1a6923b88c91ac98582ee6500f4 /addons/im_support/static/src
parentec8c505bc1c9ec21939e9ffef53a9cc6f63f30c7 (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.js7
-rw-r--r--addons/im_support/static/src/js/support_channel.js15
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");