Browse Source

[FIX] Clicks register in the Thread so add note to thread.event.

[FIX] And fix error when close move window: get message value and passed in the trigger.
pull/36/head
x620 9 years ago
parent
commit
66e2d6f577
  1. 25
      mail_move_message/static/src/js/mail_move_message.js

25
mail_move_message/static/src/js/mail_move_message.js

@ -3,6 +3,7 @@ odoo.define('mail_move_message.relocate', function (require) {
var chat_manager = require('mail.chat_manager'); var chat_manager = require('mail.chat_manager');
var base_obj = require('mail_base.base'); var base_obj = require('mail_base.base');
var thread = require('mail.ChatThread');
var Model = require('web.Model'); var Model = require('web.Model');
var form_common = require('web.form_common'); var form_common = require('web.form_common');
var widgets = require('web.form_widgets'); var widgets = require('web.form_widgets');
@ -10,18 +11,27 @@ odoo.define('mail_move_message.relocate', function (require) {
var _t = core._t; var _t = core._t;
// Add click reaction in the events of the thread object
thread.include({
init: function(){
this._super.apply(this, arguments);
this.events['click .oe_move'] = function(event) {
var message_id = $(event.currentTarget).data('message-id');
this.trigger("move_message", message_id);
}
}
});
var ChatAction = core.action_registry.get('mail.chat.instant_messaging'); var ChatAction = core.action_registry.get('mail.chat.instant_messaging');
ChatAction.include({ ChatAction.include({
start: function() { start: function() {
var result = this._super.apply(this, arguments); var result = this._super.apply(this, arguments);
this.$buttons.on('click', '.oe_move', this.on_move_message);
this.thread.on('move_message', this, this.on_move_message);
return $.when(result).done(function() {}); return $.when(result).done(function() {});
}, },
on_move_message: function(event){
on_move_message: function(message_id){
var self = this; var self = this;
var id = $(event.target).data('message-id');
var context = {'default_message_id': id};
var context = {'default_message_id': message_id};
var action = { var action = {
name: _t('Relocate Message'), name: _t('Relocate Message'),
type: 'ir.actions.act_window', type: 'ir.actions.act_window',
@ -32,15 +42,18 @@ odoo.define('mail_move_message.relocate', function (require) {
target: 'new', target: 'new',
context: context context: context
}; };
self.message_id = message_id;
self.do_action(action, { self.do_action(action, {
'on_close': function(message){
'on_close': function(){
var message = base_obj.chat_manager.get_message(self.message_id);
chat_manager.bus.trigger('update_message', message); chat_manager.bus.trigger('update_message', message);
} }
}); });
} }
}); });
// TODO: icon show that message was moved after reload thread. How reload thread?
base_obj.MailTools.include({ base_obj.MailTools.include({
make_message: function(data){ make_message: function(data){
var msg = this._super(data); var msg = this._super(data);

Loading…
Cancel
Save