diff --git a/mail_archives/__init__.py b/mail_archives/__init__.py index 5305644..40a96af 100644 --- a/mail_archives/__init__.py +++ b/mail_archives/__init__.py @@ -1,3 +1 @@ # -*- coding: utf-8 -*- - -from . import models \ No newline at end of file diff --git a/mail_archives/__openerp__.py b/mail_archives/__openerp__.py index 30d9a94..737e949 100644 --- a/mail_archives/__openerp__.py +++ b/mail_archives/__openerp__.py @@ -13,7 +13,7 @@ 'currency': 'EUR', "depends": [ - "mail_base" + "mail_sent", ], "data": [ diff --git a/mail_archives/models/__init__.py b/mail_archives/models/__init__.py deleted file mode 100644 index 40a96af..0000000 --- a/mail_archives/models/__init__.py +++ /dev/null @@ -1 +0,0 @@ -# -*- coding: utf-8 -*- diff --git a/mail_archives/static/src/js/archives.js b/mail_archives/static/src/js/archives.js index fab77c9..436e55e 100644 --- a/mail_archives/static/src/js/archives.js +++ b/mail_archives/static/src/js/archives.js @@ -35,7 +35,20 @@ base_obj.MailTools.include({ set_channel_flags: function(data, msg){ this._super.apply(this, arguments); - msg.is_archive = true; + // Get recipients ids + var recipients_ids = []; + for (var i = 0; i < data.partner_ids.length; i++){ + recipients_ids.push(data.partner_ids[i][0]); + } + + // If author or recipient + if ( + (data.sent && data.author_id[0] == session.partner_id) + || (recipients_ids.indexOf(session.partner_id) != -1) + ) { + msg.is_archive = true; + } + return msg; }, @@ -45,7 +58,11 @@ base_obj.MailTools.include({ }, get_domain: function(channel){ - return (channel.id === "channel_archive") ? [] : this._super.apply(this, arguments); + return (channel.id === "channel_archive") ? [ + '|', ['partner_ids', 'in', [openerp.session.partner_id]], + '&', ['sent', '=', true], + ['author_id.user_ids', 'in', [openerp.session.uid]] + ] : this._super.apply(this, arguments); } });