From 813f79ecf60bd797d8bc67c105a923e93f0ca745 Mon Sep 17 00:00:00 2001 From: x620 Date: Wed, 13 Apr 2016 11:29:24 +0500 Subject: [PATCH 1/7] [FIX] change depends --- res_partner_mails_count/__openerp__.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/res_partner_mails_count/__openerp__.py b/res_partner_mails_count/__openerp__.py index f60b70c..79559e3 100644 --- a/res_partner_mails_count/__openerp__.py +++ b/res_partner_mails_count/__openerp__.py @@ -13,8 +13,7 @@ "currency": "EUR", "depends": [ - 'base', - 'mail', + 'mail_sent' ], "external_dependencies": {"python": [], "bin": []}, "data": [ From 984b2d5122c0806128a50f77ca921adf1f0e81e3 Mon Sep 17 00:00:00 2001 From: x620 Date: Wed, 13 Apr 2016 11:33:54 +0500 Subject: [PATCH 2/7] [WIP] create and display channel_sent_to where filtered sent_to messages --- res_partner_mails_count/static/src/js/main.js | 75 ++++++++++++++++--- .../views/res_partner_mails_count.xml | 1 + 2 files changed, 66 insertions(+), 10 deletions(-) diff --git a/res_partner_mails_count/static/src/js/main.js b/res_partner_mails_count/static/src/js/main.js index 96415c6..e420b77 100644 --- a/res_partner_mails_count/static/src/js/main.js +++ b/res_partner_mails_count/static/src/js/main.js @@ -1,10 +1,65 @@ -// openerp.res_partner_mails_count = function(instance){ -// instance.mail.Wall.include({ -// init: function(){ -// this._super.apply(this, arguments); -// if(this.context.ignore_search_model){ -// delete this.defaults.model; -// } -// } -// }); -// }; +odoo.define('res_partner_mails_count.sent', function (require) { + "use strict"; + +var base_obj = require('mail_base.base'); + +//------------------------------------------------------------------------------- +var bus = require('bus.bus').bus; +var config = require('web.config'); +var core = require('web.core'); +var data = require('web.data'); +var Model = require('web.Model'); +var session = require('web.session'); +var time = require('web.time'); +var web_client = require('web.web_client'); + +var _t = core._t; +//------------------------------------------------------------------------------- + +// Inherit class and override methods +base_obj.MailTools.include({ + get_properties: function(msg){ + var properties = this._super.apply(this, arguments); + properties.is_sent_to = this.property_descr("channel_sent_to", msg, this); + return properties; + }, + + set_channel_flags: function(data, msg){ + this._super.apply(this, arguments); + msg.is_sent_to = false; + if (data.sent && data.author_id[0] == session.partner_id) { + if (data.partner_ids[0] && data.partner_ids[0][0] == 5){ + msg.is_sent_to = true; + } + } + + return msg; + }, + + get_channel_array: function(msg){ + var arr = this._super.apply(this, arguments); + return arr.concat('channel_sent_to'); + }, + + get_domain: function(channel){ + return (channel.id === "channel_sent_to") ? [ + ['sent', '=', true], + ['author_id.user_ids', 'in', [openerp.session.uid]] + ] : this._super.apply(this, arguments); + } +}); + +base_obj.chat_manager.is_ready.then(function(){ + // Add sent channel + base_obj.chat_manager.mail_tools.add_channel({ + id: "channel_sent_to", + name: _t("SentTo"), + type: "static" + }); + + return $.when(); +}); + +return base_obj.chat_manager; + +}); diff --git a/res_partner_mails_count/views/res_partner_mails_count.xml b/res_partner_mails_count/views/res_partner_mails_count.xml index 0c1573c..68c00a9 100644 --- a/res_partner_mails_count/views/res_partner_mails_count.xml +++ b/res_partner_mails_count/views/res_partner_mails_count.xml @@ -7,6 +7,7 @@ mail.message { 'ignore_search_model': True, + 'active_id': 'channel_sent_to' }

From f03ed373c5bd79b8234af3ba7349fd07e2b1cbb4 Mon Sep 17 00:00:00 2001 From: x620 Date: Fri, 15 Apr 2016 12:43:54 +0500 Subject: [PATCH 3/7] [FIX] change depends --- res_partner_mails_count/__openerp__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/res_partner_mails_count/__openerp__.py b/res_partner_mails_count/__openerp__.py index 79559e3..c8a1e2b 100644 --- a/res_partner_mails_count/__openerp__.py +++ b/res_partner_mails_count/__openerp__.py @@ -6,14 +6,14 @@ "images": ['images/1.png'], "version": "1.0.0", - "author": "IT-Projects LLC", + "author": "IT-Projects LLC, Pavel Romanchenko", "website": "https://it-projects.info", "license": "GPL-3", "price": 30.00, "currency": "EUR", "depends": [ - 'mail_sent' + 'mail_archives' ], "external_dependencies": {"python": [], "bin": []}, "data": [ From a7f38bedf9cb62b4fc61c43f8ab776551b1437e0 Mon Sep 17 00:00:00 2001 From: x620 Date: Fri, 15 Apr 2016 12:45:16 +0500 Subject: [PATCH 4/7] [IMP] add 'search_default_' handler to class ChatAction --- mail_base/static/src/js/base.js | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/mail_base/static/src/js/base.js b/mail_base/static/src/js/base.js index a0712e6..321233b 100644 --- a/mail_base/static/src/js/base.js +++ b/mail_base/static/src/js/base.js @@ -60,6 +60,28 @@ var channel_seen = _.throttle(function (channel) { return ChannelModel.call('channel_seen', [[channel.id]], {}, {shadow: true}); }, 3000); +var ChatAction = core.action_registry.get('mail.chat.instant_messaging'); +ChatAction.include({ + start: function() { + var result = this._super.apply(this, arguments); + + var search_defaults = {}; + var context = this.action ? this.action.context : []; + _.each(context, function (value, key) { + var match = /^search_default_(.*)$/.exec(key); + if (match) { + search_defaults[match[1]] = value; + } + }); + this.searchview.defaults = search_defaults; + + var self = this; + $.when(result).done(function() { + self.searchview.do_search(); + }); + } +}); + var MailTools = core.Class.extend({ send_native_notification: function (title, content) { From f11c963e335f6cfe0f10ecca642b7c0df5fd44f1 Mon Sep 17 00:00:00 2001 From: x620 Date: Fri, 15 Apr 2016 12:48:33 +0500 Subject: [PATCH 5/7] [FIX] res_partner_mails_count.xml use channel_archive [FIX] remove unused main.js and delete link in templates.xml to it --- res_partner_mails_count/static/src/js/main.js | 65 ------------------- res_partner_mails_count/templates.xml | 9 --- .../views/res_partner_mails_count.xml | 2 +- 3 files changed, 1 insertion(+), 75 deletions(-) delete mode 100644 res_partner_mails_count/static/src/js/main.js diff --git a/res_partner_mails_count/static/src/js/main.js b/res_partner_mails_count/static/src/js/main.js deleted file mode 100644 index e420b77..0000000 --- a/res_partner_mails_count/static/src/js/main.js +++ /dev/null @@ -1,65 +0,0 @@ -odoo.define('res_partner_mails_count.sent', function (require) { - "use strict"; - -var base_obj = require('mail_base.base'); - -//------------------------------------------------------------------------------- -var bus = require('bus.bus').bus; -var config = require('web.config'); -var core = require('web.core'); -var data = require('web.data'); -var Model = require('web.Model'); -var session = require('web.session'); -var time = require('web.time'); -var web_client = require('web.web_client'); - -var _t = core._t; -//------------------------------------------------------------------------------- - -// Inherit class and override methods -base_obj.MailTools.include({ - get_properties: function(msg){ - var properties = this._super.apply(this, arguments); - properties.is_sent_to = this.property_descr("channel_sent_to", msg, this); - return properties; - }, - - set_channel_flags: function(data, msg){ - this._super.apply(this, arguments); - msg.is_sent_to = false; - if (data.sent && data.author_id[0] == session.partner_id) { - if (data.partner_ids[0] && data.partner_ids[0][0] == 5){ - msg.is_sent_to = true; - } - } - - return msg; - }, - - get_channel_array: function(msg){ - var arr = this._super.apply(this, arguments); - return arr.concat('channel_sent_to'); - }, - - get_domain: function(channel){ - return (channel.id === "channel_sent_to") ? [ - ['sent', '=', true], - ['author_id.user_ids', 'in', [openerp.session.uid]] - ] : this._super.apply(this, arguments); - } -}); - -base_obj.chat_manager.is_ready.then(function(){ - // Add sent channel - base_obj.chat_manager.mail_tools.add_channel({ - id: "channel_sent_to", - name: _t("SentTo"), - type: "static" - }); - - return $.when(); -}); - -return base_obj.chat_manager; - -}); diff --git a/res_partner_mails_count/templates.xml b/res_partner_mails_count/templates.xml index 79f4b1a..11684e4 100644 --- a/res_partner_mails_count/templates.xml +++ b/res_partner_mails_count/templates.xml @@ -1,15 +1,6 @@ - - res.partner.mails.count res.partner diff --git a/res_partner_mails_count/views/res_partner_mails_count.xml b/res_partner_mails_count/views/res_partner_mails_count.xml index 68c00a9..7e3daf7 100644 --- a/res_partner_mails_count/views/res_partner_mails_count.xml +++ b/res_partner_mails_count/views/res_partner_mails_count.xml @@ -7,7 +7,7 @@ mail.message { 'ignore_search_model': True, - 'active_id': 'channel_sent_to' + 'active_id': 'channel_archive' }

From 2db75d48ef1316c22bcdac5f739557b6d2bf782b Mon Sep 17 00:00:00 2001 From: x620 Date: Fri, 15 Apr 2016 13:11:53 +0500 Subject: [PATCH 6/7] [FIX] base.js: add return [FIX] res_partner_mails_count.xml: remove unused code [FIX] __openerp__.py: change license --- mail_base/static/src/js/base.js | 2 +- res_partner_mails_count/__openerp__.py | 2 +- res_partner_mails_count/views/res_partner_mails_count.xml | 1 - 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/mail_base/static/src/js/base.js b/mail_base/static/src/js/base.js index 321233b..68bce6b 100644 --- a/mail_base/static/src/js/base.js +++ b/mail_base/static/src/js/base.js @@ -76,7 +76,7 @@ ChatAction.include({ this.searchview.defaults = search_defaults; var self = this; - $.when(result).done(function() { + return $.when(result).done(function() { self.searchview.do_search(); }); } diff --git a/res_partner_mails_count/__openerp__.py b/res_partner_mails_count/__openerp__.py index c8a1e2b..78a5450 100644 --- a/res_partner_mails_count/__openerp__.py +++ b/res_partner_mails_count/__openerp__.py @@ -8,7 +8,7 @@ "author": "IT-Projects LLC, Pavel Romanchenko", "website": "https://it-projects.info", - "license": "GPL-3", + "license": "LGPL-3", "price": 30.00, "currency": "EUR", diff --git a/res_partner_mails_count/views/res_partner_mails_count.xml b/res_partner_mails_count/views/res_partner_mails_count.xml index 7e3daf7..7b328d8 100644 --- a/res_partner_mails_count/views/res_partner_mails_count.xml +++ b/res_partner_mails_count/views/res_partner_mails_count.xml @@ -6,7 +6,6 @@ mail.chat.instant_messaging mail.message { - 'ignore_search_model': True, 'active_id': 'channel_archive' } From 619dee983c09e779e26a4b43954bb2b589b58d84 Mon Sep 17 00:00:00 2001 From: x620 Date: Fri, 15 Apr 2016 13:17:34 +0500 Subject: [PATCH 7/7] [DOC] change description --- mail_base/README.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mail_base/README.rst b/mail_base/README.rst index a467263..df10e9b 100644 --- a/mail_base/README.rst +++ b/mail_base/README.rst @@ -1,7 +1,8 @@ Mail Base ========= -Modules doesn't introduce new features, but make built-in mail js features extendable. +* makes built-in mail js features extendable. +* handle ``search_default_*`` parameters in context. Usage -----