From fdf801e27a55d3992f407d502900ecbac22f1e42 Mon Sep 17 00:00:00 2001 From: x620 Date: Mon, 30 May 2016 11:34:56 +0500 Subject: [PATCH 01/33] [PORT] Init commit: change category and installable parameters in __openerp__.py --- mail_move_message/__openerp__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mail_move_message/__openerp__.py b/mail_move_message/__openerp__.py index c8dc5e1..af60a61 100644 --- a/mail_move_message/__openerp__.py +++ b/mail_move_message/__openerp__.py @@ -3,7 +3,7 @@ 'version' : '1.0.4', 'author' : 'IT-Projects LLC, Ivan Yelizariev', 'license': 'LGPL-3', - 'category' : 'Social Network', + 'category' : 'Discuss', 'website' : 'https://twitter.com/yelizariev', 'price': 9.00, 'currency': 'EUR', @@ -16,5 +16,5 @@ 'qweb': [ 'static/src/xml/mail_move_message_main.xml', ], - 'installable': False + 'installable': True, } From 45baf8b7f5921e9cd979622f78d7562a147d46bf Mon Sep 17 00:00:00 2001 From: x620 Date: Mon, 30 May 2016 17:13:53 +0500 Subject: [PATCH 02/33] [PORT] Parameter of message "to_read" replaced to "needaction" in mail_move_message_models.py [PORT] Updated mail_move_message.js for 9.0 compatible --- mail_move_message/__openerp__.py | 2 +- mail_move_message/mail_move_message_models.py | 2 +- .../static/src/js/mail_move_message.js | 110 ++++++++++-------- 3 files changed, 66 insertions(+), 48 deletions(-) diff --git a/mail_move_message/__openerp__.py b/mail_move_message/__openerp__.py index af60a61..be5b31e 100644 --- a/mail_move_message/__openerp__.py +++ b/mail_move_message/__openerp__.py @@ -7,7 +7,7 @@ 'website' : 'https://twitter.com/yelizariev', 'price': 9.00, 'currency': 'EUR', - 'depends' : ['mail', 'web_polymorphic_field'], + 'depends' : ['mail_base', 'web_polymorphic_field'], 'images': ['images/inbox.png'], 'data':[ 'mail_move_message_views.xml', diff --git a/mail_move_message/mail_move_message_models.py b/mail_move_message/mail_move_message_models.py index 0013e9e..3beda86 100644 --- a/mail_move_message/mail_move_message_models.py +++ b/mail_move_message/mail_move_message_models.py @@ -74,7 +74,7 @@ class wizard(models.TransientModel): message_email_from = fields.Char() message_name_from = fields.Char() # FIXME message_to_read should be True even if current message or any his childs are unread - message_to_read = fields.Boolean(related='message_id.to_read') + message_to_read = fields.Boolean(related='message_id.needaction') uid = fields.Integer() move_followers = fields.Boolean( 'Move Followers', diff --git a/mail_move_message/static/src/js/mail_move_message.js b/mail_move_message/static/src/js/mail_move_message.js index a655407..5dad991 100644 --- a/mail_move_message/static/src/js/mail_move_message.js +++ b/mail_move_message/static/src/js/mail_move_message.js @@ -1,19 +1,29 @@ -openerp.mail_move_message = function (session) { - var _t = session.web._t, - _lt = session.web._lt; +odoo.define('mail_move_message.relocate', function (require) { + "use strict"; - var mail = session.mail; + var base_obj = require('mail_base.base'); + var Model = require('web.Model'); + var core = require('web.core'); - mail.ThreadMessage.include({ - bind_events: function(){ - this._super.apply(this, arguments); - this.$('.oe_move').on('click', this.on_move_message) + var QWeb = core.qweb; + var _t = core._t; + + var ChatAction = core.action_registry.get('mail.chat.instant_messaging'); + ChatAction.include({ + start: function() { + var result = this._super.apply(this, arguments); + + this.$buttons = $(QWeb.render("mail.chat.ControlButtons", {})); + this.$buttons.find('button').css({display:"inline-block"}); + this.$buttons.on('click', '.oe_move', this.on_move_message); + + return $.when(result).done(function() {}); }, + on_move_message: function(event){ var self = this; - var context = { - 'default_message_id': this.id - } + var id = $(event.target).data('oe-id'); + var context = {'default_message_id': id}; var action = { name: _t('Relocate Message'), type: 'ir.actions.act_window', @@ -22,37 +32,45 @@ openerp.mail_move_message = function (session) { view_type: 'form', views: [[false, 'form']], target: 'new', - context: context, + context: context }; self.do_action(action, { 'on_close': function(){ - self.check_for_rerender(); + // TODO: this method is not exist in 9.0. Replace to compatible method + // self.check_for_rerender(); } }); } - }) + }); - mail.MessageCommon.include({ - init: function (parent, datasets, options) { - this._super(parent, datasets, options); - this.is_moved = datasets.is_moved || false; + base_obj.MailTools.include({ + make_message: function(data){ + var msg = this._super(data); + msg.is_moved = data.is_moved || false; + return msg; } - }) + }); - session.web.form.WidgetButton.include({ - on_click: function() { + var widgets = require('web.form_widgets'); + widgets.WidgetButton.include({ + on_click: function(){ if(this.node.attrs.special == 'quick_create'){ var self = this; var related_field = this.field_manager.fields[this.node.attrs['field']]; var context_built = $.Deferred(); if(this.node.attrs.use_for_mail_move_message) { - var model = new session.web.Model(this.view.dataset.model); + var model = new Model(this.view.dataset.model); var partner_id = self.field_manager.fields['partner_id'].get_value(); var message_name_from = self.field_manager.fields['message_name_from'].get_value(); var message_email_from = self.field_manager.fields['message_email_from'].get_value(); - context_built = model.call('create_partner', [self.view.dataset.context.default_message_id, - related_field.field.relation, partner_id, message_name_from, message_email_from]); + context_built = model.call('create_partner', [ + self.view.dataset.context.default_message_id, + related_field.field.relation, + partner_id, + message_name_from, + message_email_from + ]); } else { context_built.resolve(this.build_context()); @@ -61,31 +79,31 @@ openerp.mail_move_message = function (session) { if(self.node.attrs.use_for_mail_move_message) { self.field_manager.fields['partner_id'].set_value(context['partner_id']); } - var pop = new session.web.form.FormOpenPopup(this); - pop.show_element( - related_field.field.relation, - false, - context, - { - title: _t("Create new record"), - } - ); - pop.on('closed', self, function () { - self.force_disabled = false; - self.check_disable(); - }); - pop.on('create_completed', self, function(id) { - related_field.set_value(id); - if(self.field_manager.fields['filter_by_partner']) { - self.field_manager.fields['filter_by_partner'].set_value(true); - } - }); + // TODO: this method is not exist in 9.0. Create similar method for 9.0 + // var pop = new session.web.form.FormOpenPopup(this); + // pop.show_element( + // related_field.field.relation, + // false, + // context, + // { + // title: _t("Create new record"), + // } + // ); + // pop.on('closed', self, function () { + // self.force_disabled = false; + // self.check_disable(); + // }); + // pop.on('create_completed', self, function(id) { + // related_field.set_value(id); + // if(self.field_manager.fields['filter_by_partner']) { + // self.field_manager.fields['filter_by_partner'].set_value(true); + // } + // }); }); } else { this._super.apply(this, arguments); } - }, + } }); - -} \ No newline at end of file +}); From 7df8f12f3aa7ad448a7fa7d8dc7f4f602006ca45 Mon Sep 17 00:00:00 2001 From: x620 Date: Wed, 1 Jun 2016 11:36:50 +0500 Subject: [PATCH 03/33] [PORT] Updated qweb xml file and added button for move message (outdated and the working code is stored in the comments) --- .../static/src/xml/mail_move_message_main.xml | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/mail_move_message/static/src/xml/mail_move_message_main.xml b/mail_move_message/static/src/xml/mail_move_message_main.xml index fce17c6..79e3e5f 100644 --- a/mail_move_message/static/src/xml/mail_move_message_main.xml +++ b/mail_move_message/static/src/xml/mail_move_message_main.xml @@ -1,8 +1,21 @@ + + + + + + + + + + From 952da4752ff97cd4083fd6f6ae63f712d5d437d4 Mon Sep 17 00:00:00 2001 From: x620 Date: Wed, 1 Jun 2016 13:18:34 +0500 Subject: [PATCH 04/33] [PORT] Changed outdated methods: self.check_for_rerender() and FormOpenPopup() --- .../static/src/js/mail_move_message.js | 43 +++++++++---------- 1 file changed, 20 insertions(+), 23 deletions(-) diff --git a/mail_move_message/static/src/js/mail_move_message.js b/mail_move_message/static/src/js/mail_move_message.js index 5dad991..eeebfdc 100644 --- a/mail_move_message/static/src/js/mail_move_message.js +++ b/mail_move_message/static/src/js/mail_move_message.js @@ -1,8 +1,10 @@ odoo.define('mail_move_message.relocate', function (require) { "use strict"; + var chat_manager = require('mail.chat_manager'); var base_obj = require('mail_base.base'); var Model = require('web.Model'); + var form_common = require('web.form_common'); var core = require('web.core'); var QWeb = core.qweb; @@ -36,9 +38,8 @@ odoo.define('mail_move_message.relocate', function (require) { }; self.do_action(action, { - 'on_close': function(){ - // TODO: this method is not exist in 9.0. Replace to compatible method - // self.check_for_rerender(); + 'on_close': function(message){ + chat_manager.bus.trigger('update_message', message); } }); } @@ -79,26 +80,22 @@ odoo.define('mail_move_message.relocate', function (require) { if(self.node.attrs.use_for_mail_move_message) { self.field_manager.fields['partner_id'].set_value(context['partner_id']); } - // TODO: this method is not exist in 9.0. Create similar method for 9.0 - // var pop = new session.web.form.FormOpenPopup(this); - // pop.show_element( - // related_field.field.relation, - // false, - // context, - // { - // title: _t("Create new record"), - // } - // ); - // pop.on('closed', self, function () { - // self.force_disabled = false; - // self.check_disable(); - // }); - // pop.on('create_completed', self, function(id) { - // related_field.set_value(id); - // if(self.field_manager.fields['filter_by_partner']) { - // self.field_manager.fields['filter_by_partner'].set_value(true); - // } - // }); + var dialog = new form_common.FormViewDialog(self, { + res_model: related_field.field.relation, + res_id: false, + context: context, + title: _t("Create new record") + }).open(); + dialog.on('closed', self, function () { + self.force_disabled = false; + self.check_disable(); + }); + dialog.on('create_completed', self, function(id) { + related_field.set_value(id); + if(self.field_manager.fields['filter_by_partner']) { + self.field_manager.fields['filter_by_partner'].set_value(true); + } + }); }); } else { From 991765e22ba18479ae39f7181771dd15f34847c6 Mon Sep 17 00:00:00 2001 From: x620 Date: Wed, 1 Jun 2016 13:22:39 +0500 Subject: [PATCH 05/33] [PORT] Insert "Move to thread" button in mail_move_message_main.xml and updated his behavior in css file --- mail_move_message/mail_move_message_views.xml | 202 +++++++++--------- .../static/src/css/mail_move_message.css | 25 ++- .../static/src/xml/mail_move_message_main.xml | 6 +- 3 files changed, 122 insertions(+), 111 deletions(-) diff --git a/mail_move_message/mail_move_message_views.xml b/mail_move_message/mail_move_message_views.xml index 475f7d7..e1157e9 100644 --- a/mail_move_message/mail_move_message_views.xml +++ b/mail_move_message/mail_move_message_views.xml @@ -8,115 +8,115 @@ - - mail_move_message.wizard.view - mail_move_message.wizard - -
+ + + + + - - - - - - + + + + + + -

You cannot move this message. It was already moved with a message bellow. Open one and apply changes there.

- - - -