From 75656e3ef3fc308a34e8cca99e6703b7536a96aa Mon Sep 17 00:00:00 2001 From: ilmir Date: Wed, 8 Feb 2017 16:52:54 +0500 Subject: [PATCH 01/45] [ADD] Stamp --- mail_archives/static/description/index.html | 43 +++++++++++++++++++-- 1 file changed, 40 insertions(+), 3 deletions(-) diff --git a/mail_archives/static/description/index.html b/mail_archives/static/description/index.html index 50900fa..23c01d7 100644 --- a/mail_archives/static/description/index.html +++ b/mail_archives/static/description/index.html @@ -32,14 +32,51 @@ This menu shows archive messages, i.e. ones you sent or received.
-
+ +
+
+
+ Tested on Odoo
9.0 community +
+
+ Tested on Odoo
9.0 enterprise +
+
+
From 44f9c3dde1c6aaa9fbaebddf48073a971c9155ff Mon Sep 17 00:00:00 2001 From: zimbora Date: Mon, 10 Apr 2017 05:54:18 +0100 Subject: [PATCH 02/45] Add portuguese translation (#89) --- mail_sent/i18n/pt.po | 67 +++++++++++++++++++++++++++++++++++++++++ mail_sent/i18n/pt_BR.po | 67 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 134 insertions(+) create mode 100644 mail_sent/i18n/pt.po create mode 100644 mail_sent/i18n/pt_BR.po diff --git a/mail_sent/i18n/pt.po b/mail_sent/i18n/pt.po new file mode 100644 index 0000000..f798914 --- /dev/null +++ b/mail_sent/i18n/pt.po @@ -0,0 +1,67 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mail_sent +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 8.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-03-29 18:57+0000\n" +"PO-Revision-Date: 2017-03-29 18:57+0000\n" +"Last-Translator: <>\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: mail_sent +#: model:ir.actions.client,help:mail_sent.action_mail_sent_feeds +msgid "

\n" +" No message found and no message sent yet.\n" +"

\n" +" Click on the top-right icon to compose a message. This\n" +" message will be sent by email if it's an internal contact.\n" +"

\n" +" " +msgstr "

\n" +" Nenhuma mensagem encontrada e nenhuma enviada ainda.\n" +"

\n" +" Clique no ícone no canto superior direito para compor uma nova mensagem.\n" +" Esta mensagem será enviada por e-mail se não for um contato interno.\n" +"

\n" +" " + +#. module: mail_sent +#: model:ir.model,name:mail_sent.model_mail_compose_message +msgid "Email composition wizard" +msgstr "Assistente de composição de Email" + +#. module: mail_sent +#: model:ir.model,name:mail_sent.model_mail_message +msgid "Message" +msgstr "Mensagem" + +#. module: mail_sent +#: model:ir.model,name:mail_sent.model_mail_notification +msgid "Notifications" +msgstr "Notificações" + +#. module: mail_sent +#: model:ir.actions.client,name:mail_sent.action_mail_sent_feeds +#: model:ir.ui.menu,name:mail_sent.mail_sentfeeds +#: field:mail.compose.message,sent:0 +#: field:mail.message,sent:0 +msgid "Sent" +msgstr "Enviados" + +#. module: mail_sent +#: help:mail.message,sent:0 +msgid "Was message sent to someone" +msgstr "Foi enviada mensagem para alguém" + +#. module: mail_sent +#: help:mail.compose.message,sent:0 +msgid "dummy field to fix inherit error" +msgstr "campo fictício para corrigir o erro da herança" + diff --git a/mail_sent/i18n/pt_BR.po b/mail_sent/i18n/pt_BR.po new file mode 100644 index 0000000..8cc602d --- /dev/null +++ b/mail_sent/i18n/pt_BR.po @@ -0,0 +1,67 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mail_sent +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 8.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-03-29 18:57+0000\n" +"PO-Revision-Date: 2017-03-29 18:57+0000\n" +"Last-Translator: <>\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: mail_sent +#: model:ir.actions.client,help:mail_sent.action_mail_sent_feeds +msgid "

\n" +" No message found and no message sent yet.\n" +"

\n" +" Click on the top-right icon to compose a message. This\n" +" message will be sent by email if it's an internal contact.\n" +"

\n" +" " +msgstr "

\n" +" Nenhuma mensagem encontrada e nenhuma enviada ainda.\n" +"

\n" +" Clique no ícone no canto superior direito para compor uma nova mensagem.\n" +" Esta mensagem será enviada por e-mail se não for um contato interno.\n" +"

\n" +" " + +#. module: mail_sent +#: model:ir.model,name:mail_sent.model_mail_compose_message +msgid "Email composition wizard" +msgstr "Assistente de Composição de Email" + +#. module: mail_sent +#: model:ir.model,name:mail_sent.model_mail_message +msgid "Message" +msgstr "Mensagem" + +#. module: mail_sent +#: model:ir.model,name:mail_sent.model_mail_notification +msgid "Notifications" +msgstr "Notificações" + +#. module: mail_sent +#: model:ir.actions.client,name:mail_sent.action_mail_sent_feeds +#: model:ir.ui.menu,name:mail_sent.mail_sentfeeds +#: field:mail.compose.message,sent:0 +#: field:mail.message,sent:0 +msgid "Sent" +msgstr "Enviados" + +#. module: mail_sent +#: help:mail.message,sent:0 +msgid "Was message sent to someone" +msgstr "Foi enviada mensagem para alguém" + +#. module: mail_sent +#: help:mail.compose.message,sent:0 +msgid "dummy field to fix inherit error" +msgstr "campo fictício para corrigir o erro da herança" + From d5f847e7143e2288c04f61f8b05be25b08b7fa8f Mon Sep 17 00:00:00 2001 From: ArtyomLosev Date: Wed, 21 Jun 2017 14:06:51 +0500 Subject: [PATCH 03/45] [UPDATE] travis update --- .travis.yml | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index 116bb8e..81ce49a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,7 +2,8 @@ language: python python: - "2.7" - + +dist: trusty sudo: false cache: pip @@ -13,10 +14,17 @@ addons: - python-lxml # because pip installation is slow env: - - VERSION="9.0" LINT_CHECK="1" - - VERSION="9.0" ODOO_REPO="odoo/odoo" LINT_CHECK="0" - - VERSION="9.0" ODOO_REPO="OCA/OCB" LINT_CHECK="0" - - VERSION="9.0" UNIT_TEST="1" LINT_CHECK="0" + global: + - VERSION="9.0" TESTS="0" LINT_CHECK="0" TRANSIFEX="0" UNIT_TEST="0" + - EXCLUDE="hw_printer_network" + - PYLINT_ODOO_JSLINTRC="/home/travis/maintainer-quality-tools/travis/cfg/.jslintrc" + + + matrix: + - LINT_CHECK="1" + - TESTS="1" ODOO_REPO="odoo/odoo" + - TESTS="1" ODOO_REPO="OCA/OCB"" + - TESTS="1" UNIT_TEST="1" virtualenv: system_site_packages: true From 612c555ca43c230d999b566692bab6e9aaa5b344 Mon Sep 17 00:00:00 2001 From: ArtyomLosev Date: Wed, 21 Jun 2017 13:40:47 +0500 Subject: [PATCH 04/45] 9.0-mail_base-lint-fix --- mail_base/static/{src/js => lib}/base.js | 0 mail_base/views/templates.xml | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename mail_base/static/{src/js => lib}/base.js (100%) diff --git a/mail_base/static/src/js/base.js b/mail_base/static/lib/base.js similarity index 100% rename from mail_base/static/src/js/base.js rename to mail_base/static/lib/base.js diff --git a/mail_base/views/templates.xml b/mail_base/views/templates.xml index cc3694d..4e2bb58 100644 --- a/mail_base/views/templates.xml +++ b/mail_base/views/templates.xml @@ -5,7 +5,7 @@ name="mail_base_assets_backend" inherit_id="web.assets_backend"> - + From 8b4784517937f51561c94188acd85ea90ef72c21 Mon Sep 17 00:00:00 2001 From: Ivan Yelizariev Date: Mon, 26 Jun 2017 07:20:25 +0000 Subject: [PATCH 05/45] [FIX] import error Error: class MailChatController(openerp.addons.bus.controllers.main.BusController): AttributeError: 'module' object has no attribute 'bus' --- mail_base/README.rst | 2 +- mail_base/controllers/main.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/mail_base/README.rst b/mail_base/README.rst index 9e936a2..6cd124a 100644 --- a/mail_base/README.rst +++ b/mail_base/README.rst @@ -25,4 +25,4 @@ Usage instructions: ``_ Changelog: ``_ -Tested on Odoo 9.0 c8cd67c5d98b410cabe0a6efb3347a8a4de731d8 +Tested on Odoo 9.0 ed463864366029f8d4289db831fcdc196fc716cb diff --git a/mail_base/controllers/main.py b/mail_base/controllers/main.py index 8812df9..06f8695 100644 --- a/mail_base/controllers/main.py +++ b/mail_base/controllers/main.py @@ -1,9 +1,9 @@ # -*- coding: utf-8 -*- from openerp.http import request -import openerp +from openerp.addons.bus.controllers.main import BusController -class MailChatController(openerp.addons.bus.controllers.main.BusController): +class MailChatController(BusController): # ----------------------------- # Extends BUS Controller Poll # ----------------------------- From cd255877a15d18aac600c5170f05d95c9b1f2834 Mon Sep 17 00:00:00 2001 From: Ivan Yelizariev Date: Mon, 26 Jun 2017 07:53:50 +0000 Subject: [PATCH 06/45] [CI] fix travis format --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 81ce49a..b5a9ff1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -23,7 +23,7 @@ env: matrix: - LINT_CHECK="1" - TESTS="1" ODOO_REPO="odoo/odoo" - - TESTS="1" ODOO_REPO="OCA/OCB"" + - TESTS="1" ODOO_REPO="OCA/OCB" - TESTS="1" UNIT_TEST="1" virtualenv: From 5b294a4622bd7c6513dfbebb17a11a071025f99c Mon Sep 17 00:00:00 2001 From: Ivan Yelizariev Date: Mon, 26 Jun 2017 07:56:09 +0000 Subject: [PATCH 07/45] [CI] switch off trusty in order to fix error with lxml dependency --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index b5a9ff1..6863526 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,7 +3,7 @@ language: python python: - "2.7" -dist: trusty +#dist: trusty sudo: false cache: pip From ce419c11fb24ef0d632a952a9cab05e408f1aa91 Mon Sep 17 00:00:00 2001 From: ArtyomLosev Date: Tue, 11 Jul 2017 12:57:31 +0500 Subject: [PATCH 08/45] [PORT] mail_private for odoo 9.0 --- mail_private/README.rst | 6 +- mail_private/__openerp__.py | 6 +- mail_private/doc/changelog.rst | 6 +- mail_private/models.py | 8 +- mail_private/static/src/js/mail_private.js | 257 ++++++------------- mail_private/static/src/xml/mail_private.xml | 8 +- mail_private/view.xml | 27 -- 7 files changed, 95 insertions(+), 223 deletions(-) delete mode 100644 mail_private/view.xml diff --git a/mail_private/README.rst b/mail_private/README.rst index 6a9fc15..7660eae 100644 --- a/mail_private/README.rst +++ b/mail_private/README.rst @@ -18,12 +18,12 @@ Sponsors Further information =================== -Demo: http://runbot.it-projects.info/demo/mail-addons/8.0 +Demo: http://runbot.it-projects.info/demo/mail-addons/9.0 -HTML Description: https://apps.odoo.com/apps/modules/8.0/mail_private/ +HTML Description: https://apps.odoo.com/apps/modules/9.0/mail_private/ Usage instructions: ``__ Changelog: ``__ -Tested on Odoo 8.0 0af32f3f84bae07b11abb8538d02e35c7369a348 +Tested on Odoo 9.0 d612daae719ce3da86c3e44a91a6138a1733dcc2 diff --git a/mail_private/__openerp__.py b/mail_private/__openerp__.py index 643c444..5b91b62 100644 --- a/mail_private/__openerp__.py +++ b/mail_private/__openerp__.py @@ -4,10 +4,11 @@ "summary": """Send private messages to specified recipients, regardless of who are in followers list.""", "category": "Discuss", "images": ['images/mail_private_image.png'], - "version": "1.0.0", + "version": "1.0.1", "application": False, "author": "IT-Projects LLC, Pavel Romanchenko", + "support": "apps@it-projects.info", "website": "https://it-projects.info", "license": "GPL-3", "price": 50.00, @@ -19,7 +20,6 @@ "external_dependencies": {"python": [], "bin": []}, "data": [ 'template.xml', - 'view.xml', ], "qweb": [ 'static/src/xml/mail_private.xml', @@ -31,5 +31,5 @@ "post_init_hook": None, "auto_install": False, - "installable": False, + "installable": True, } diff --git a/mail_private/doc/changelog.rst b/mail_private/doc/changelog.rst index 5f35720..e2b359b 100644 --- a/mail_private/doc/changelog.rst +++ b/mail_private/doc/changelog.rst @@ -1,5 +1,7 @@ -Updates -======= +`1.0.1` +------- + +- **PORT:** Odoo 9 support. `1.0.0` ------- diff --git a/mail_private/models.py b/mail_private/models.py index 2d4b7ef..7f94e16 100644 --- a/mail_private/models.py +++ b/mail_private/models.py @@ -1,11 +1,9 @@ # -*- coding: utf-8 -*- -from openerp.osv import osv, fields +from openerp import models, fields -class MailComposeMessage(osv.TransientModel): +class MailComposeMessage(models.TransientModel): _inherit = 'mail.compose.message' - _columns = { - 'private': fields.boolean('Send Internal Message'), - } + private = fields.Boolean(string='Send Internal Message') diff --git a/mail_private/static/src/js/mail_private.js b/mail_private/static/src/js/mail_private.js index bc0d781..2916592 100644 --- a/mail_private/static/src/js/mail_private.js +++ b/mail_private/static/src/js/mail_private.js @@ -1,201 +1,100 @@ -openerp.mail_private = function(instance){ +odoo.define('mail_private', function (require) { +'use strict'; - var mail = instance.mail; +var core = require('web.core'); +var Chatter = require('mail.Chatter'); +var chat_manager = require('mail.chat_manager'); +var session = require('web.session'); +var Model = require('web.Model'); - instance.mail.ThreadComposeMessage.include({ - init: function (parent, datasets, options) { + + Chatter.include({ + init: function () { this._super.apply(this, arguments); this.private = false; + this.events['click .oe_compose_post_private'] = 'on_open_composer_private_message'; }, - bind_events: function(){ - var self = this; - this.$('.oe_compose_post_private').on('click', self.on_toggle_quick_composer_private); - this._super.apply(this, arguments); - }, - on_compose_fullmail: function (default_composition_mode) { - var self = this; - if(!this.do_check_attachment_upload()) { - return false; - } - var recipient_done = $.Deferred(); - if (this.is_log) { - recipient_done.resolve([]); - } - else { - recipient_done = this.check_recipient_partners(); - } - $.when(recipient_done).done(function (partner_ids) { - var context = { - 'default_parent_id': self.id, - 'default_body': mail.ChatterUtils.get_text2html(self.$el ? (self.$el.find('textarea:not(.oe_compact)').val() || '') : ''), - 'default_attachment_ids': _.map(self.attachment_ids, function (file) {return file.id;}), - 'default_partner_ids': partner_ids, - 'default_is_log': self.is_log, - 'default_private': self.private, - 'mail_post_autofollow': true, - 'mail_post_autofollow_partner_ids': partner_ids, - 'is_private': self.is_private - }; - if (default_composition_mode != 'reply' && self.context.default_model && self.context.default_res_id) { - context.default_model = self.context.default_model; - context.default_res_id = self.context.default_res_id; - } - - var action = { - type: 'ir.actions.act_window', - res_model: 'mail.compose.message', - view_mode: 'form', - view_type: 'form', - views: [[false, 'form']], - target: 'new', - context: context, - }; - self.do_action(action, { - 'on_close': function(){ !self.parent_thread.options.view_inbox && self.parent_thread.message_fetch(); } - }); - self.on_cancel(); + on_post_message: function (message) { + var self = this; + if (this.private) { + message.subtype = false; + } + var options = {model: this.model, res_id: this.res_id}; + chat_manager.post_message(message, options).then( + function () { + self.close_composer(); + if (message.partner_ids.length) { + self.refresh_followers(); + } + }).fail(function () { + // todo: display notification }); + }, - }, - do_send_message_post: function (partner_ids, log) { + on_open_composer_private_message: function (event) { var self = this; - var values = { - 'body': this.$('textarea').val(), - 'subject': false, - 'parent_id': this.context.default_parent_id, - 'attachment_ids': _.map(this.attachment_ids, function (file) {return file.id;}), - 'partner_ids': partner_ids, - 'context': _.extend(this.parent_thread.context, { - 'mail_post_autofollow': true, - 'mail_post_autofollow_partner_ids': partner_ids, - 'default_private': self.private - }), - 'type': 'comment', - 'content_subtype': 'plaintext', - }; - if (log || self.private) { - values.subtype = false; - } - else { - values.subtype = 'mail.mt_comment'; - } - this.parent_thread.ds_thread._model.call('message_post', [this.context.default_res_id], values).done(function (message_id) { - var thread = self.parent_thread; - var root = thread == self.options.root_thread; - if (self.options.display_indented_thread < self.thread_level && thread.parent_message) { - var thread = thread.parent_message.parent_thread; - } - // create object and attach to the thread object - thread.message_fetch([["id", "=", message_id]], false, [message_id], function (arg, data) { - var message = thread.create_message_object( data.slice(-1)[0] ); - // insert the message on dom - thread.insert_message( message, root ? undefined : self.$el, root ); - }); - self.on_cancel(); - self.flag_post = false; + this.private = true; + this.get_recipients_for_internal_message().then(function (data) { + var private_message = 'private_message'; + self.recipients_for_internal_message = data; + self.open_composer(private_message); }); }, - on_toggle_quick_composer: function (event) { - if (event.target.className == 'oe_compose_post') { - this.recipients = []; - this.private = false; - } + + on_open_composer_new_message: function () { this._super.apply(this, arguments); + this.private = false; }, - on_toggle_quick_composer_private: function (event) { - this.recipients = []; - var self = this; - var $input = $(event.target); - this.compute_emails_from(); - var email_addresses = _.pluck(this.recipients, 'email_address'); - var suggested_partners = $.Deferred(); - // if clicked: call for suggested recipients - if (event.type == 'click') { - this.private = $input.hasClass('oe_compose_post_private'); - this.is_log = false; - suggested_partners = this.parent_thread.get_recipients_for_internal_message([this.context.default_res_id], this.context) - .done(function (additional_recipients) { - var thread_recipients = additional_recipients[self.context.default_res_id]; - _.each(thread_recipients, function (recipient) { - var parsed_email = mail.ChatterUtils.parse_email(recipient[1]); - if (_.indexOf(email_addresses, parsed_email[1]) == -1) { - self.recipients.push({ - 'checked': false, - 'partner_id': recipient[0], - 'full_name': recipient[1], - 'name': parsed_email[0], - 'email_address': parsed_email[1], - 'reason': recipient[2], - }); - } - }); + open_composer: function (options) { + var self = this; + this._super.apply(this, arguments); + if (options === 'private_message') { + //Clear existing suggested partners + for (var i=0; i', reason] - ); - } - } - return self.result; - }); - } - return self.result; + return new Model(this.context.default_model).query( + ['message_follower_ids', 'partner_id']).filter( + [['id', '=', self.context.default_res_id]]).all(). + then(function (thread) { + var follower_ids = thread[0].message_follower_ids; + self.result[self.context.default_res_id] = []; + self.customer = thread[0].partner_id; + // Fetch partner ids + return new Model('mail.followers').call( + 'read', [follower_ids, ['partner_id']]).then(function (res_partners) { + var res_partners_filtered = []; + // Filter result and push to array + _.each(res_partners, function (partner) { + if (partner.partner_id[0] && partner.partner_id[0] !== session.partner_id ) { + res_partners_filtered.push(partner.partner_id[0]); + } + }); + return new Model('res.partner').call( + 'read', [res_partners_filtered, ['name', 'email', 'user_ids']] + ).then(function (recipients) { + return recipients; + }); + }); }); } }); -}; + +}); diff --git a/mail_private/static/src/xml/mail_private.xml b/mail_private/static/src/xml/mail_private.xml index d603d82..7e01b63 100644 --- a/mail_private/static/src/xml/mail_private.xml +++ b/mail_private/static/src/xml/mail_private.xml @@ -1,11 +1,11 @@ - + diff --git a/im_notif/static/src/js/im_notif.js b/im_notif/static/src/js/im_notif.js index 7994ca3..cf9eaff 100644 --- a/im_notif/static/src/js/im_notif.js +++ b/im_notif/static/src/js/im_notif.js @@ -40,5 +40,5 @@ txt += _.escape(str.slice(last, str.length)); return txt; }, - }) - })() \ No newline at end of file + }); + })(); \ No newline at end of file From 4ccbea83af667885505106e65901ea5063f1960d Mon Sep 17 00:00:00 2001 From: Ivan Yelizariev Date: Tue, 16 Aug 2016 17:54:27 +0500 Subject: [PATCH 37/45] fix lint errors --- im_notif/doc/changelog.rst | 4 ++-- im_notif/im_notif_models.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/im_notif/doc/changelog.rst b/im_notif/doc/changelog.rst index e189573..981e0e8 100644 --- a/im_notif/doc/changelog.rst +++ b/im_notif/doc/changelog.rst @@ -1,7 +1,7 @@ .. _changelog: -Changelog -========= +Updates +======= `1.0.1` ------- diff --git a/im_notif/im_notif_models.py b/im_notif/im_notif_models.py index 58d06c1..f45e50d 100644 --- a/im_notif/im_notif_models.py +++ b/im_notif/im_notif_models.py @@ -6,7 +6,7 @@ from openerp.osv import fields as old_fields from openerp.tools.translate import _ -class res_partner(models.Model): +class ResPartner(models.Model): _inherit = 'res.partner' _columns = { 'notify_email': old_fields.selection([ @@ -22,7 +22,7 @@ class res_partner(models.Model): } -class mail_notification(models.Model): +class MailNotification(models.Model): _inherit = 'mail.notification' def get_recipients(self, cr, uid, ids, message, context=None): From 34cd2750ec15eb7cc0695ece62547eaef106c377 Mon Sep 17 00:00:00 2001 From: manawi Date: Tue, 4 Oct 2016 11:31:14 +0500 Subject: [PATCH 38/45] fixes for travis (#264) [FIX] lint fixes * [FIX] web_calendar_repeat_form: remove duplicate description form __openerp__.py * [FIX] web_calendar_quick_navigation: remove duplicate key 'description' * [FIX] project_description: remove duplicate key 'demo_xml' * [FIX] web_session_managment: relative import http * [FIX] product_image_filestore: '\' changed to '/' * [FIX] currency_rate_update: don't use {} as argument * [FIX] web_logo/contrillers: remove Unreacheble code * [FIX] res_partner_phone: do not assign a lambda expression * [FIX] currency_rate_update: continuation line unaligned for hanging indent * [FIX] flake8 E302 * [FIX] flake8 F841 * [FIX] flake8 F841 * [FIX] currency_rate_update: Use of eval * [FIX] delivery_special: Use of eval * [FIX] autopep8 * [FIX] unused imports * [FIX] fix comments * [FIX] rst-files * [FIX] flake8 * [FIX] flake8: product_image_filestore --- im_notif/im_notif_models.py | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/im_notif/im_notif_models.py b/im_notif/im_notif_models.py index f45e50d..d12752a 100644 --- a/im_notif/im_notif_models.py +++ b/im_notif/im_notif_models.py @@ -3,7 +3,6 @@ from openerp import SUPERUSER_ID from openerp import models from openerp import tools from openerp.osv import fields as old_fields -from openerp.tools.translate import _ class ResPartner(models.Model): @@ -82,11 +81,6 @@ class MailNotification(models.Model): ) author = message.author_id and message.author_id.name_get() author = author and author[0][1] or message.email_from - # body = html2plaintext(message.body)[:100] or '' - mtype = {'email': _('Email'), - 'comment': _('Comment'), - 'notification': _('System notification'), - }.get(message.type, '') about = message.subject or message.record_name or 'UNDEFINED' about = '[ABOUT] %s' % about @@ -126,7 +120,7 @@ class MailNotification(models.Model): session = session_obj.session_get(cr, user_from, user_to, context=context) uuid = session.get('uuid') message_content = '\n'.join(im_text) - message_id = self.pool["im_chat.message"].post(cr, SUPERUSER_ID, user_from, uuid, message_type, message_content, context=context) + self.pool["im_chat.message"].post(cr, SUPERUSER_ID, user_from, uuid, message_type, message_content, context=context) return True From 4a36f47c785fbde3969ca2f1fb4472ce032d0676 Mon Sep 17 00:00:00 2001 From: Ivan Yelizariev Date: Mon, 16 Jan 2017 14:55:22 +0500 Subject: [PATCH 39/45] add line break at the end of file --- im_notif/static/src/js/im_notif.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/im_notif/static/src/js/im_notif.js b/im_notif/static/src/js/im_notif.js index cf9eaff..7e2c6e5 100644 --- a/im_notif/static/src/js/im_notif.js +++ b/im_notif/static/src/js/im_notif.js @@ -41,4 +41,4 @@ return txt; }, }); - })(); \ No newline at end of file + })(); From d1c2ec327e68043817db6ac4f92db55bbd8c2555 Mon Sep 17 00:00:00 2001 From: Ivan Yelizariev Date: Wed, 25 Jan 2017 20:04:37 +0500 Subject: [PATCH 40/45] don't use header in changelog.rst --- im_notif/doc/changelog.rst | 5 ----- 1 file changed, 5 deletions(-) diff --git a/im_notif/doc/changelog.rst b/im_notif/doc/changelog.rst index 981e0e8..9ae06bd 100644 --- a/im_notif/doc/changelog.rst +++ b/im_notif/doc/changelog.rst @@ -1,8 +1,3 @@ -.. _changelog: - -Updates -======= - `1.0.1` ------- From b6e89267b5e364737984c6f07100e24bfb732247 Mon Sep 17 00:00:00 2001 From: Ivan Yelizariev Date: Tue, 26 Sep 2017 10:18:12 +0500 Subject: [PATCH 41/45] [DOC] note for 9.0+ users --- im_notif/README.rst | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/im_notif/README.rst b/im_notif/README.rst index f6a7d08..b3ef2c7 100644 --- a/im_notif/README.rst +++ b/im_notif/README.rst @@ -6,3 +6,8 @@ Description: https://apps.odoo.com/apps/modules/8.0/im_notif/ Further information and discussion: https://yelizariev.github.io/odoo/module/2015/02/18/im-notifications.html Tested on Odoo 8.0 ab7b5d7732a7c222a0aea45bd173742acd47242d + +Odoo 9.0+ +========= + +For newer version the module is not needed, cause there is similar built-in feature From 982f8fe9218350c59d432f69121e6259f0b14a2e Mon Sep 17 00:00:00 2001 From: Ildar Nasyrov Date: Wed, 27 Sep 2017 07:10:12 +0000 Subject: [PATCH 42/45] [REM] im_notif - it is only for 8.0 --- im_notif/README.rst | 13 -- im_notif/__init__.py | 9 - im_notif/__openerp__.py | 19 --- im_notif/doc/changelog.rst | 4 - im_notif/im_notif_data.xml | 19 --- im_notif/im_notif_models.py | 160 ------------------ im_notif/im_notif_views.xml | 12 -- im_notif/images/my-pref.png | Bin 37547 -> 0 bytes im_notif/static/description/icon.png | Bin 3035 -> 0 bytes im_notif/static/description/im-chat.png | Bin 28634 -> 0 bytes im_notif/static/description/index.html | 69 -------- .../static/description/my-pref-button.png | Bin 15972 -> 0 bytes im_notif/static/src/js/im_notif.js | 44 ----- 13 files changed, 349 deletions(-) delete mode 100644 im_notif/README.rst delete mode 100644 im_notif/__init__.py delete mode 100644 im_notif/__openerp__.py delete mode 100644 im_notif/doc/changelog.rst delete mode 100644 im_notif/im_notif_data.xml delete mode 100644 im_notif/im_notif_models.py delete mode 100644 im_notif/im_notif_views.xml delete mode 100644 im_notif/images/my-pref.png delete mode 100644 im_notif/static/description/icon.png delete mode 100644 im_notif/static/description/im-chat.png delete mode 100644 im_notif/static/description/index.html delete mode 100644 im_notif/static/description/my-pref-button.png delete mode 100644 im_notif/static/src/js/im_notif.js diff --git a/im_notif/README.rst b/im_notif/README.rst deleted file mode 100644 index b3ef2c7..0000000 --- a/im_notif/README.rst +++ /dev/null @@ -1,13 +0,0 @@ -IM Notifications -================ - -Description: https://apps.odoo.com/apps/modules/8.0/im_notif/ - -Further information and discussion: https://yelizariev.github.io/odoo/module/2015/02/18/im-notifications.html - -Tested on Odoo 8.0 ab7b5d7732a7c222a0aea45bd173742acd47242d - -Odoo 9.0+ -========= - -For newer version the module is not needed, cause there is similar built-in feature diff --git a/im_notif/__init__.py b/im_notif/__init__.py deleted file mode 100644 index e8cfb16..0000000 --- a/im_notif/__init__.py +++ /dev/null @@ -1,9 +0,0 @@ -# -*- coding: utf-8 -*- -from . import im_notif_models - - -def pre_uninstall(cr, registry): - query = ("UPDATE res_partner " - "SET notify_email = 'always' " - "WHERE notify_email LIKE 'im%';") - cr.execute(query) diff --git a/im_notif/__openerp__.py b/im_notif/__openerp__.py deleted file mode 100644 index a4c3c5e..0000000 --- a/im_notif/__openerp__.py +++ /dev/null @@ -1,19 +0,0 @@ -# -*- coding: utf-8 -*- -{ - 'name': 'IM Notifications', - 'version': '1.0.1', - 'author': 'IT-Projects LLC, Ivan Yelizariev', - 'license': 'GPL-3', - 'category': 'Tools', - 'website': 'https://twitter.com/yelizariev', - 'price': 9.00, - 'currency': 'EUR', - 'depends': ['im_chat', 'mail'], - 'images': ['images/my-pref.png'], - 'data': [ - 'im_notif_data.xml', - 'im_notif_views.xml', - ], - 'installable': True, - 'uninstall_hook': 'pre_uninstall', -} diff --git a/im_notif/doc/changelog.rst b/im_notif/doc/changelog.rst deleted file mode 100644 index 9ae06bd..0000000 --- a/im_notif/doc/changelog.rst +++ /dev/null @@ -1,4 +0,0 @@ -`1.0.1` -------- - -- Hide Notifications user diff --git a/im_notif/im_notif_data.xml b/im_notif/im_notif_data.xml deleted file mode 100644 index fb8a164..0000000 --- a/im_notif/im_notif_data.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - Notifications - - Technical profile. You should not delete it. - - - Notifications - notifications - - - - - - - - diff --git a/im_notif/im_notif_models.py b/im_notif/im_notif_models.py deleted file mode 100644 index d12752a..0000000 --- a/im_notif/im_notif_models.py +++ /dev/null @@ -1,160 +0,0 @@ -# -*- coding: utf-8 -*- -from openerp import SUPERUSER_ID -from openerp import models -from openerp import tools -from openerp.osv import fields as old_fields - - -class ResPartner(models.Model): - _inherit = 'res.partner' - _columns = { - 'notify_email': old_fields.selection([ - ('none', 'Never'), - ('im', 'Only IM (if online)'), - ('im_xor_email', 'IM (if online) + email (if offline)'), - ('im_and_email', 'IM (if online) + email'), - ('always', 'Only emails'), - ], 'Receive Inbox Notifications by Email, IM', required=True, - oldname='notification_email_send', - help="Policy to receive emails, IM for new messages pushed to your personal Inbox. IM can be used only for partners with odoo user account" - ), - } - - -class MailNotification(models.Model): - _inherit = 'mail.notification' - - def get_recipients(self, cr, uid, ids, message, context=None): - # based on addons/mail/mail_followers.py::get_partners_to_email - """ Return the list of partners to notify, based on their preferences. - - :param browse_record message: mail.message to notify - :param list partners_to_notify: optional list of partner ids restricting - the notifications to process - """ - email_pids = [] - im_uids = [] - for notification in self.browse(cr, uid, ids, context=context): - if notification.is_read: - continue - partner = notification.partner_id - # Do not send to partners without email address defined - if not partner.email: - continue - # Do not send to partners having same email address than the author (can cause loops or bounce effect due to messy database) - if message.author_id and message.author_id.email == partner.email: - continue - # Partner does not want to receive any emails or is opt-out - n = partner.notify_email - if n == 'none': - continue - if n == 'always': - email_pids.append(partner.id) - continue - send_email = False - for user in partner.user_ids: - if user.im_status == 'offline': - if n != 'im': - send_email = True - else: - im_uids.append(user.id) - if n == 'im_and_email': - send_email = True - - if not len(partner.user_ids): - # send notification to partner, that doesn't have odoo account, but has "im*" value in notify_email - send_email = True - - if send_email: - email_pids.append(partner.id) - - return email_pids, im_uids - - def _message2im(self, cr, uid, message): - inbox_action = self.pool['ir.model.data'].xmlid_to_res_id(cr, SUPERUSER_ID, 'mail.mail_inboxfeeds') - inbox_url = '#menu_id=%s' % inbox_action - url = None - if message.res_id: - url = '#id=%s&model=%s&view_type=form' % ( - message.res_id, - message.model - ) - author = message.author_id and message.author_id.name_get() - author = author and author[0][1] or message.email_from - - about = message.subject or message.record_name or 'UNDEFINED' - about = '[ABOUT] %s' % about - if url: - about = '%s' % (url, about) - im_text = [ - '_____________________', - '_____[open_inbox]_____' % inbox_url, - '%s [FROM] %s' % (message.type, author), - about, - ] - # im_text = im_text + body.split('\n') - return im_text - - def _notify_email(self, cr, uid, ids, message_id, force_send=False, user_signature=True, context=None): - # based on addons/mail/mail_followers.py::_notify_email - message = self.pool['mail.message'].browse(cr, SUPERUSER_ID, message_id, context=context) - - # compute partners - email_pids, im_uids = self.get_recipients(cr, uid, ids, message, context=None) - if email_pids: - self._do_notify_email(cr, uid, email_pids, message, force_send, user_signature, context) - - if im_uids: - self._do_notify_im(cr, uid, im_uids, message, context) - - return True - - def _do_notify_im(self, cr, uid, im_uids, message, context=None): - im_text = self._message2im(cr, uid, message) - - user_from = self.pool['ir.model.data'].xmlid_to_res_id(cr, SUPERUSER_ID, 'im_notif.notif_user') - - session_obj = self.pool['im_chat.session'] - message_type = 'message' - for user_to in im_uids: - session = session_obj.session_get(cr, user_from, user_to, context=context) - uuid = session.get('uuid') - message_content = '\n'.join(im_text) - self.pool["im_chat.message"].post(cr, SUPERUSER_ID, user_from, uuid, message_type, message_content, context=context) - - return True - - def _do_notify_email(self, cr, uid, email_pids, message, force_send=False, user_signature=True, context=None): - - # compute email body (signature, company data) - body_html = message.body - # add user signature except for mail groups, where users are usually adding their own signatures already - user_id = message.author_id and message.author_id.user_ids and message.author_id.user_ids[0] and message.author_id.user_ids[0].id or None - signature_company = self.get_signature_footer(cr, uid, user_id, res_model=message.model, res_id=message.res_id, context=context, user_signature=(user_signature and message.model != 'mail.group')) - if signature_company: - body_html = tools.append_content_to_html(body_html, signature_company, plaintext=False, container_tag='div') - # compute email references - references = message.parent_id.message_id if message.parent_id else False - - # custom values - custom_values = dict() - if message.model and message.res_id and self.pool.get(message.model) and hasattr(self.pool[message.model], 'message_get_email_values'): - custom_values = self.pool[message.model].message_get_email_values(cr, uid, message.res_id, message, context=context) - - # create email values - max_recipients = 50 - chunks = [email_pids[x:x + max_recipients] for x in xrange(0, len(email_pids), max_recipients)] - email_ids = [] - for chunk in chunks: - mail_values = { - 'mail_message_id': message.id, - 'auto_delete': True, - 'body_html': body_html, - 'recipient_ids': [(4, id) for id in chunk], - 'references': references, - } - mail_values.update(custom_values) - email_ids.append(self.pool.get('mail.mail').create(cr, uid, mail_values, context=context)) - if force_send and len(chunks) < 2: # for more than 50 followers, use the queue system - self.pool.get('mail.mail').send(cr, uid, email_ids, context=context) - return True diff --git a/im_notif/im_notif_views.xml b/im_notif/im_notif_views.xml deleted file mode 100644 index 38ee97f..0000000 --- a/im_notif/im_notif_views.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/im_notif/images/my-pref.png b/im_notif/images/my-pref.png deleted file mode 100644 index a3d8616838c7d5f6cad1623e7cb4b270b0e18626..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37547 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�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 diff --git a/im_notif/static/description/index.html b/im_notif/static/description/index.html deleted file mode 100644 index c67c76d..0000000 --- a/im_notif/static/description/index.html +++ /dev/null @@ -1,69 +0,0 @@ -
-
-
-

IM Notifications

-

Get instant notification inside odoo

-
- -
-

- A user is able to select option for notifications: - -

    -
  • Never
  • -
  • Only IM (if online)
  • -
  • IM (if online) + email (if offline)
  • -
  • IM (if online) + email
  • -
  • Only Emails
-

-
- -
-
- -
-
-
-
- -
-
-
-

- Each notification includes: -

    -
  • Message type: email, comment or notification
  • -
  • Author's name
  • -
  • Subject with a link to related record (if exists)
  • -
  • Link to inbox
  • -
-

-
- -
-
- -
-
- - -
-
- -
-
- -
-
diff --git a/im_notif/static/description/my-pref-button.png b/im_notif/static/description/my-pref-button.png deleted file mode 100644 index 601e6a823b9f3fab6759c853a43f26c286d04efc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15972 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 diff --git a/im_notif/static/src/js/im_notif.js b/im_notif/static/src/js/im_notif.js deleted file mode 100644 index 7e2c6e5..0000000 --- a/im_notif/static/src/js/im_notif.js +++ /dev/null @@ -1,44 +0,0 @@ - (function(){ - - "use strict"; - - var _t = openerp._t; - var _lt = openerp._lt; - var QWeb = openerp.qweb; - - openerp.im_chat.Conversation.include({ - escape_keep_url: function(str){ - //var url_regex = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/gi; - var url_regex = /((ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?|(]*href="([^"]*)"[^>]*>([^<]*)<\/a>)/gi; - var last = 0; - var txt = ""; - while (true) { - var result = url_regex.exec(str); - if (! result) - break; - txt += _.escape(str.slice(last, result.index)); - last = url_regex.lastIndex; - var href = ''; - var content = ''; - var is_odoo_ref = false; - if (result[8]=='' + content + ''; - } - txt += _.escape(str.slice(last, str.length)); - return txt; - }, - }); - })(); From b683ffba2c5a18bfddc6624763bc4f6219df8464 Mon Sep 17 00:00:00 2001 From: ArtyomLosev Date: Thu, 30 Nov 2017 17:41:58 +0500 Subject: [PATCH 43/45] [REM] Removed not maintained modules. --- .gitignore | 58 ++++++++++++ mail_delete_odoo_footer/README.rst | 4 - mail_delete_odoo_footer/__init__.py | 0 mail_delete_odoo_footer/__openerp__.py | 13 --- .../static/description/icon.png | Bin 2140 -> 0 bytes mail_fix_empty_body/README.rst | 6 -- mail_fix_empty_body/__init__.py | 2 - mail_fix_empty_body/__openerp__.py | 15 --- mail_fix_empty_body/models.py | 12 --- .../static/description/icon.png | Bin 2140 -> 0 bytes .../static/description/index.html | 65 ------------- .../static/description/receive-false.png | Bin 18163 -> 0 bytes .../static/description/receive-ok.png | Bin 16114 -> 0 bytes .../static/description/send.png | Bin 31771 -> 0 bytes mail_fix_header_from/__init__.py | 2 - mail_fix_header_from/__openerp__.py | 17 ---- mail_fix_header_from/models.py | 5 - .../static/description/icon.png | Bin 2140 -> 0 bytes mail_outgoing/__init__.py | 2 - mail_outgoing/__openerp__.py | 21 ----- mail_outgoing/mail_outgoing_models.py | 25 ----- mail_outgoing/mail_outgoing_views.xml | 34 ------- mail_outgoing/security/ir.model.access.csv | 3 - mail_outgoing/security/mail_outgoing.xml | 33 ------- mail_outgoing/static/description/icon.png | Bin 2140 -> 0 bytes mail_partner_lang/README.rst | 4 - mail_partner_lang/__init__.py | 2 - mail_partner_lang/__openerp__.py | 13 --- mail_partner_lang/models.py | 88 ------------------ mail_partner_lang/static/description/icon.png | Bin 2140 -> 0 bytes mail_todo_custom/README.rst | 2 - mail_todo_custom/__init__.py | 0 mail_todo_custom/__openerp__.py | 13 --- mail_todo_custom/mail_todo_custom.xml | 25 ----- .../static/src/js/mail_todo_custom.js | 44 --------- mass_mailing_extra/__init__.py | 2 - mass_mailing_extra/__openerp__.py | 22 ----- mass_mailing_extra/models.py | 29 ------ .../static/description/icon.png | Bin 2140 -> 0 bytes mass_mailing_extra/views.xml | 38 -------- res_partner_strip_email/README.rst | 1 - res_partner_strip_email/__init__.py | 2 - res_partner_strip_email/__openerp__.py | 21 ----- res_partner_strip_email/models.py | 23 ----- .../static/description/icon.png | Bin 3035 -> 0 bytes 45 files changed, 58 insertions(+), 588 deletions(-) create mode 100644 .gitignore delete mode 100644 mail_delete_odoo_footer/README.rst delete mode 100644 mail_delete_odoo_footer/__init__.py delete mode 100644 mail_delete_odoo_footer/__openerp__.py delete mode 100644 mail_delete_odoo_footer/static/description/icon.png delete mode 100644 mail_fix_empty_body/README.rst delete mode 100644 mail_fix_empty_body/__init__.py delete mode 100644 mail_fix_empty_body/__openerp__.py delete mode 100644 mail_fix_empty_body/models.py delete mode 100644 mail_fix_empty_body/static/description/icon.png delete mode 100644 mail_fix_empty_body/static/description/index.html delete mode 100644 mail_fix_empty_body/static/description/receive-false.png delete mode 100644 mail_fix_empty_body/static/description/receive-ok.png delete mode 100644 mail_fix_empty_body/static/description/send.png delete mode 100644 mail_fix_header_from/__init__.py delete mode 100644 mail_fix_header_from/__openerp__.py delete mode 100644 mail_fix_header_from/models.py delete mode 100644 mail_fix_header_from/static/description/icon.png delete mode 100644 mail_outgoing/__init__.py delete mode 100644 mail_outgoing/__openerp__.py delete mode 100644 mail_outgoing/mail_outgoing_models.py delete mode 100644 mail_outgoing/mail_outgoing_views.xml delete mode 100644 mail_outgoing/security/ir.model.access.csv delete mode 100644 mail_outgoing/security/mail_outgoing.xml delete mode 100644 mail_outgoing/static/description/icon.png delete mode 100644 mail_partner_lang/README.rst delete mode 100644 mail_partner_lang/__init__.py delete mode 100644 mail_partner_lang/__openerp__.py delete mode 100644 mail_partner_lang/models.py delete mode 100644 mail_partner_lang/static/description/icon.png delete mode 100644 mail_todo_custom/README.rst delete mode 100644 mail_todo_custom/__init__.py delete mode 100644 mail_todo_custom/__openerp__.py delete mode 100644 mail_todo_custom/mail_todo_custom.xml delete mode 100644 mail_todo_custom/static/src/js/mail_todo_custom.js delete mode 100644 mass_mailing_extra/__init__.py delete mode 100644 mass_mailing_extra/__openerp__.py delete mode 100644 mass_mailing_extra/models.py delete mode 100644 mass_mailing_extra/static/description/icon.png delete mode 100644 mass_mailing_extra/views.xml delete mode 100644 res_partner_strip_email/README.rst delete mode 100644 res_partner_strip_email/__init__.py delete mode 100644 res_partner_strip_email/__openerp__.py delete mode 100644 res_partner_strip_email/models.py delete mode 100644 res_partner_strip_email/static/description/icon.png diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f5bf24e --- /dev/null +++ b/.gitignore @@ -0,0 +1,58 @@ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] + +# C extensions +*.so + +# Distribution / packaging +.Python +env/ +bin/ +build/ +develop-eggs/ +dist/ +eggs/ +lib64/ +parts/ +sdist/ +var/ +*.egg-info/ +.installed.cfg +*.egg + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.coverage +.cache +nosetests.xml +coverage.xml + +# Translations +*.mo + +# Pycharm +.idea + +# Mr Developer +.mr.developer.cfg +.project +.pydevproject + +# Rope +.ropeproject + +# Sphinx documentation +docs/_build/ + +# Backup files +*~ +*.swp + +# odoo +!static/lib/ diff --git a/mail_delete_odoo_footer/README.rst b/mail_delete_odoo_footer/README.rst deleted file mode 100644 index 1cbeaa2..0000000 --- a/mail_delete_odoo_footer/README.rst +++ /dev/null @@ -1,4 +0,0 @@ -Delete Odoo footer in email -=========================== - -Tested on 8.0 ab7b5d7732a7c222a0aea45bd173742acd47242d diff --git a/mail_delete_odoo_footer/__init__.py b/mail_delete_odoo_footer/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/mail_delete_odoo_footer/__openerp__.py b/mail_delete_odoo_footer/__openerp__.py deleted file mode 100644 index a94ab6d..0000000 --- a/mail_delete_odoo_footer/__openerp__.py +++ /dev/null @@ -1,13 +0,0 @@ -# -*- coding: utf-8 -*- -{ - 'name': 'Delete Odoo footer in email (TODO)', - 'version': '1.0.0', - 'author': 'IT-Projects LLC, Ivan Yelizariev', - 'license': 'LGPL-3', - "category": "Discuss", - 'website': 'https://yelizariev.github.io', - 'depends': [], - 'data': [ - ], - 'installable': False -} diff --git a/mail_delete_odoo_footer/static/description/icon.png b/mail_delete_odoo_footer/static/description/icon.png deleted file mode 100644 index 79f7d8fe294f838cf2996940c40dc08dde60642f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2140 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 SSUIi$0000 -
-
-

Fix "False" in empty email body

-

Feel free to send emails without body

-
- -
-

- Some time you need to send email with empty body.
E.g. to send some file to partner. -

-
-
-
- -
-
-
- - -
-
-
-
- -
-
- -
-

- There is a bug in odoo -- it sends "False" if email body if empty. -

-
-
-
- - -
-
-
-

- This module just fix the issue. -

-
-
-
- -
-
-
-
- -
-
- -
-
diff --git a/mail_fix_empty_body/static/description/receive-false.png b/mail_fix_empty_body/static/description/receive-false.png deleted file mode 100644 index be440c0d5c14e7a37346234420ea6a72c90b040a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18163 zcmb5W1y~$GxGmVYBxn){J`h|3!JXjl?!kh)`v4)hySqCB!65{KySux)vy=PY-FNT4 z-EVjKK4$1@sp_h~Pn|mdX+jj_#L-akQ2_uzlavrq0st5r=movMU?wRgCFyUb^;f45#xW2=}3n@rJ|E3YbgfD>q zpC9qq|E2W*-1V>YM4QI2+wew>=w}pS9`6Ey&c@qn=1N8) z0Utsp6tEX@zpk3p)5!|w=n{Su`H{;l)gA$D3pn*?0rH0FBiL&sf2;1BWE-c?6XyXk z*y{wAaK#!#yx@xu@-aw@2SpI`Zx(Y_AVR?8$Y79pMgK_%+mBjM6lIwCwlc|uMa)bL?>BmP!!y$F`lhA=2&AVJX|#;VB4UIZu(o$%Js<}LQfDIN ziWL3D#G^ei4e`D*d;n@wiRGZ(w&vw51!y{plWY53vZ(#HXMfj+Pclpr~yqI+eu4u zOqQ$)s6p^@JQZrr0X@a)bP@w=Z+{4c)H5Wx^n6AVIx)3Tkox`N18`P5F8fi|VKJ^h7;}Vj09{zQdCt|SK9AgpoUolHbDMi+Ig6P zVfcFb12&*A?c4($>OjFd$~H)Q69mFmr>QobNL-IHRR#!FmQ`9Gg?oXq2%(YbkeGn& zf61m!Lji!s>jNhaCMLDCOJa*CBnnH*t*?7_%%f~y)CvllYd*yj5kxvoSr`MrMJgjY zH0)2fkiB?Fz#vyzXm=rlmB1imDHJe>ngSV|9S<$|kB|Ra`oDJlXX*d%6Z$5$7#saJ ze+?!vQDKKHUX3u+XtcT*(v>jO-c7o-3+Imtrx4PL@i5U=73 zk!AOU?QU9ndbkK#iONAkdrK7P=fs4P$~$8`rOk5{f0?IwHoq{(Zz(EHNonTcB%BwI zxPR}WaJ@THy{a$9XQqwk&G6QA+P&O8JRV#+;8ZXJ>C`KAiWKHXFyV8Y#ccO;0$kXj zj~IW8_KbBdGFXA*{+@zPB*Ov>x?;p}t4bk5UTBc%B3PR|T~}s)8D9)uL7{@_g|j8` zD2jRvT=v@gv(6!>Bk2uJT~b)v8gE?XbUIt>3P8djIqZ=$_{ht& zip56VTRZHKKN(zJEGbVi&F_rNZJlg9niehW@pQxxP9d7;e}z;}>r49&RVZjGYC=K#Cy z@@2jb zliMsMZjzo?=!u`xILZ@zYA?BY+&;4tr#fFE2!Q~QIJ^?g`7sq(U|$UZ5ko-lW;ZKE z-GSqG^ILMEu?B;Oq-7&$mp44P^Y5`*e)tETIddI z{$k`jQwDlT?AZx(P-fJ$$yU^0P*9l}Oks^usIkOrcdtsFFys1_sJ<)?#?6UB;0HwS(B3nYfb)U_( zE)Kc3dgz%)Xoaqv{9}jzN}yMACcH#5dCF)Mz|VTt7OYYiyzYH^9bu;3gOa%&aE*!kdZ%>*DKKEPn zc7d&YSUy=gT zpYp=Pf!qEpa@N+hP-2e!w*6WYk<;~4{E9`qkZ()(C|osh3lBPNm?)8Rsvhr{^fYS& z>#W7x3LH)v$K>t1W%R0s{%JLJtW)pdi8Wnvl>FwLHaP@gq;QY!!CgVk*_C_>7|?>v zM8}nyitggv_uSU1lP|3F?|w$t*W}c+Lw_o@5CD+kp*hQf4SU-H+K-3Con|S{+Zk!K z*>dD`{x!29XPi1AE`c$YBkyhGsw&G$j^8orH~2(`2J|zi5^jVxH~{!KauUR>ffnlC zVXXe(5#>VYl5r$oG3#|be^7NiM~*8!n9SDif4Lutg`vMS^SNMRt21P?J%r_%Bg^w7 zjYsN-XH=FJ85vg6ai!0C5U!rvdXU+z)zB!7al<%5iK6~(iAKqZHdE`_Zw}Wa`>quO zLIBi*p{rZ_Eq$>=c(=I>x0Ptid;7cY$MBeI`6H~lLT_I$(~n8jja{TzheDON z{awmtN@>p8s7UgJ*AyHl?l(=|iv?X6pOkASav^D%)SKYlx>C~E)49BnQ5tuLEW@~? zROEBis-^3zcJIebdc1>U^!%2ap+DJs=T+X9`&1l)`nNUhc&4LuOuS}Gq){2%9^ZVD z>+@xQorM^g6%wyp594Nju|P$VbJ54NUCyH!pz+$+FKVpBOb^-TKQ5q_0ntvqd=;oeDc_>+-kUdmY%_6 z#(Z_ujrqg*-OVW}a3aJ)J~%#+;n3B7mH|k*x-`V>_KzhpU&UIH(cF}ayMl<31 zgg@c(#YQp6x6`)1NuVSAFi9JHBQ~0jA8WnbZXTgQo?yG8fqZ|63augmhg_V>hB_ZK zI7NUe0zd;R1$=k!U!S;@z-+=|E+k}e_EcQ|G?+FMDx{*&EUJtc;J?15BT^G6`)mDD zcmqw|N{bFb5vGFqXkLw5V5JW$tnkMp7#Hzx4}pui`k{2vn?r{_mO>R&U?R2_cI~h7 z8wbiR|E=ZOhBM|Uq{*;jm>)s^RX!$5+UcTyUdS{v*w~v>c=^yY~Lt=mr zygc<+9x%Z8?F)pv<(CES<6(kM>xL4RGNLWQB<~l>j?tsokL3J%EplP*s>`~p9Gz~d z1R3@7`Rc*&Kr9)IpS~2jM8&k)`N7L1ZJKpMU2PXNaMk`R(#^ghUSJ^LTgqFDF+*13 zz2H!>#>rv{X~no63jqg47?vjEoQv<~4)*2m!(quIj~K{m_3!g|zoX4a^*f3aGDa=f zqi;dfj-NtvA&Xg+@mXA+H+yOA;Op%)jxYOy+FH%_))!OvcWS0*WR0fMCGTT5`%_B7 z#1|MxmJcsXHeRO^l>d4fnLHE?e%Und&-udFe)gGZfGJk836DDcm_F>2j}I?OO(qA% zjd4eRM`|Ei!O((od)WEKH7=4;0S|P9BhY1k&L;fq?G9+Qax5$>jD1(qnhQYyq6y_g z^WCK>-S~o|^ip8}5QiGSY=DFgXvE1h1`04`I;eodpNXr+B@yg=(K;m%S=gVkQIk;* z$+R;byk3+luQT{vJVy^F1-A>$&0&-uv;BbtJsk-sD-3D5a`$QOop{>Vzzf>Lh$ z6pTYzs-)&HDCXWc1sibwb!Gv$!9p)*?^;|El2&BI#M>XvyXI_BVD&DoDyMI;6_7vs zu)l1c#GO_#f`IH_3eHJVlJ4$YLYPp>het#t>nl82FG7}*n%eAkzLERea;99f#f1TQ zi;f-{5wQ%*P*beuJ#P-7#Ez9J6N15XPRa6wXlu^mS+FSBc#pT+_|5x>uLx?zkxM3* z!2s{`fW2AP+j@czyaecV18P;m^5<5ZLrSdO(Ew_|G>GRyEnr#zet>(Bt;FDb0ZsdwputWU zcO;z)I(aHvc057&wh=az#4@>^eFS;`Bv{3S!6+eYq(2SoFE)xM_E-MlviIl2>(~+b zRlVz$wPzn-dc#P3dU%3IKXJUM3?+9CYkLG#hKL6JB%8b?oZ^-DGnp**g=LXN`3Qi* zK>XFi2!y9iGv+W7}a z6@R7_U9gPP2c;#>EGaXuxbtvC8DQw;LF%%nvxhUgXP=l*8kPoH^9+o}0HttOJ=uq! zfFHqGhAe+;ffFMg8@KA+-ANH!bT~%({>cfSXwv>RN17c@h@_%}7a4-(1ek-L`IFu! zIkZf-M>pSEktWT{2tJeAG!j?Sm*RuX^;KA45H)gB|7B3OBNJT1cxtIc!<;ej{+Bcy zAsAHqYG%`NZV&Vg4#xH4h(q?dKJ^=4;Ot2(*!{!T-5)y>NanTyyYty)B_#xjmjX5) zgSv9#1Z|ZAmbYCN!aZFN7;Icpc&q2{v;_QQWIgcdal(2Qw)S`3iT!rn*^e4Hn%>Qt zqZ_fS3vNgV2Xr4hXuO4<^d$sO%9d@wa8HMuq&}QHH2>nlDSJ5oRH(*FS(4@Ga8ruC zzXt#%e6eimd?e9b2V(QQGhJ8q+dCQ9wA`;l?Of30w_rAu*$ja+A-3eWdqV*x+^Amkc{2Y{~~?2nF8{N22$ z*SLH#M@dCD;o9^5B1t#cXpRYpl8wK`4Re%K^tX~t9U_b>c~Lg|@k_;_zUubq4!_VU zCk(`}{OiY|r+^&=3XRR!EDunyO)*dMKw(YBI8QCFcXq2Q`PIT}O~uxLlL9+LgiNBh zGLkB;`^D(5{7sKCh_P=Jcl&2P7tlZMe`fGR`6F3`V%ub+k7l*g4HbH?MPBM}_Jd7w zy*v)pvntq++>YY*kO42Ddj>Amm{cry|Bra2Ivr(CJxHse`ax6S(WzL((R?=u+l~Aj zFe88dh$t#5%E`(3Kyi%!HZCbEE9+&rLzNpA5G1H*ejar;n?yp5%bPc;Z)>oX_7sIQ zY0Z0b9-&?YvM0FQS@ZU1O%qS9Y1wANv#o!5Zu9*5XN9_)BuV$R=@-ju^dVD_#v@8^zjFhH@=bf(k zs+nUCmlo5_v5-$yx7#rY6s+CvGx0+m6>94ft>)|a?pI3m8`_Yf)qlN&@GWlF{Z^xG zW)-m=qE_j8z;-)*qW<1+Vi4)s?CZ|&o8dv%eGBgysh5ysyL#y+X^}2H+z(cHu?rdX z-6E=VSiOO~Y1Wied^zjqSfq5g*iO4@zJT>Zm=6LwWcX~ft>jhta>BWb4lsDKnrt-H z=}k~7R2#V-{ptUY9mf5=M9|{_H;qh>*Sp1~N?YqixenKZBJh~Lpam%yt1Ujm;2e5QnAu&YM3*3C1Zz1N9Bu*-k_qAWA`&e+C(SB8yDYZoaBIm zuNP-m+K9xoO5Ht3mR)!9*81zHs0vM?n$Jbp)>UHFakfcg+482h&Ftg(?}!%ZKeu~5 zuhX6a*n)tcEx{`a;B!-UiUN9Cc27^K7>Al47S^!DCqB(Y|@cad_Q{m z{QOMU2*44--^Vld>vPyh?aJy^2%rJZRVqWsG{D`sD_m|m59|77qO2lRvXLoJf)~o) zOuc&Div{%^i;)jJuMe8RtX0Vh^baO%ZA-l@T)hMCpk=4YkxNol@W6Z2AQ{R{cONIG z`uch&s9=NPdk5#+R-<_(g}Ft%rY4szPo*yzDo_2vEP;Y`}bEN z%!z@2a#p`=oNS~F6dhz_vc0k33%25-GrocyC84tKR$M?oR8ajV0sl9#_dkT;lh*ir zs)eevhKfTRLCmd{&BCmk{lmk@cm(LtRsUDTxal=tguY!k%wT6{XM;^J+EYzxrc#&Z zwLr5m>Z;`t6aKzcn4Sa17#bwszf-5ktQ5lS?(9_Rwlq{%V^+a{mj?goX&2_u?i9lO zZ!+}%2XXp8POu@BuHt3o=Z`ED!rbcZ5=F#>?*fqi%fVVgyRivBZ3g&Y;T`D6xrq)DoRB^VhykQn5gz!7@F=J6wICa zzPyaDzOEApyj=2@d}IiKs)QW=Pv9W_PqVH+-~tZYCGt$5ZQFWBrpbWd zm$IL7^|uS7+wA4JZTwA=ql4p?KK0{<{(%Vwj@g^r*PW&P*VDFhYVGRC(z`mUx>by; z^jlUZuj^o6wN^!Dfu|IF`F|Tf#M*JPnTX_@(kDT*kuKY7PYzP_xK#=_ojngE#h z)^~TeK8$3SnGYwE3mp~V`uNTrPIem?(@qt8`%%7^Otuwz`uVnQJIrx6-LsK@AH^rq zW-N*O^;;gEc#7(RKN5tCK0j~kE9XJR>4Z)+SMCqt<~!cJuU&q9Drzz&2JSG@`;rD< zwjO<@emVdK$2$TJZFied=(iRxrWio_{q1Xf!iU3GL;Z)IiJ$_}jF|wy0RTDtjL=v0 zz4ADH2jQ9IO1kXe&Y=1*$-|NJKWfRW_inpDTCIHQYIJRVLaU{Ion3vtpEICONGImP zEy(&d0iDn8G2Zi^1=Z$!A%O#sKNAwFoG6&+E9lpj)C-aho;Yr<{52~q6#nar0eqP( zd2{M>b#^jr9`tpLPRNGo%j6fM0A_aHp&N|9kHPb2pGW1aeAMdhHHWSFPEy6U=Ibr@ zXM$JnZlXq>j<#@Lm6(vh_0+yTlIDs&yu5FL5N1ZUgjgKhq19%K6>(_$x&#;nUL!l6 zEDxgOug=dU!=dtg^ddMq6)&vXeBGeC`#dVRN)LZ{ho|o8B?7~yF@8u~2c)T5n~J83 zwJVJbUiwV^E_ z)(XQVDuBPA`b~4Ct=Eq zr|5VtG23&6^L@&wTIcgq0xz+aY_Tp15T26s2hx&6$>_Ax=9^YJ;*q=8B85Q%7}r*% zZx8#RYeN+4kM*~`q0Twb8}Mf?mX%v+eGBd$-e*xj;dMUlZ~Nn=zVGdBX;BB~Fx4m_ zZ;JGeiEjSi*F_SN3fos*ZH&t+Tz8j?EeszDY^L^@fsRU_SMd%U+~|QK6*u)IjI{~z ztdY%RtPQwNdAq^2znR^)4ZxX2(|dj9pq99`~r6xA-;KUsV?wPq<o^*%R35{$a_^_s4^>!45aBIA|<+UvhAb=+=UseH%oujF6J(q=?I zcQ*Mt5}rrlq9E~n@y;MbiV=QasV_WEQHvxU$}vD=(q9S*;%d4b&-Q%UjHy9B6tMf& zc7rvA6(9Skz-7QYQ2X5dX*byBD<^VpHT@^T_*#)ddd8}@de*}mnqbhWsyZ5GyFLr|RsHxNg8?m6dw$|96Rj^RmMnwX9WflaQQ3*WR z&-QGZ3Hec3>+3gt=HMQ=iTcwGZD8Jclz1;$&DPy8O0bNkj)qoz5>uBpG@F7&gJl}% zX#0F~)pa}J0P=0MdVxCvI{#9BTVHo`OMZ6aToD+$iK0&pYa*XuL+Byc)?C+UtCZ03 z`|S^E)R4-RJ8s7Hth(2l#k%}hvhC8_d?osr9e4S$PkXw3-5~$gw~gmPUwGb@n3J0+#1>&>zHOFcNd0Ah zvFhWztWqNpOGign7*C;jPaQqz*Etvg$_j~BuxRVbzI*!>|Cig*QLw=E*_$ltL913V zaS?a2`GB4vXpqy)4#fAo*Hx;H9N>qI0`-|OPz?U|I95yRp7v%$2gO**prHqgwt@84 zp3%b!a@t&}VOSDIj2-8O-=?gr)oT%?FF&J1m(ViEMk0RV>)4qyIC>^|_Bd1d-emNS zEAXi6+k61Ud)?R@9<{2xll%TWWQQcj4B|c}P?|XNf&Rr9yDK#|$~9-ik^eKLr=1X6 z)pYf0_Z(l21ofB=;%->4lYe!0w)eR3;!?Xp->eO3#$!DWM_L637w^krmWSAgsM_~f zH@5q!Rdv4WTX}((ryHa!dM2F?L}zGL*fB9Jw?Sn=RqyZ(&lGv!a^y|%jK#+No80F(KVf~6{-xW@2{kYQJXJD*jnu{+PXnq^&UH)ljRPv49FBsI^ z>5fnqt&*T4KEF&pgB0mMisW3Oq2WId@`UNdsPA2Q#La)3Py!S?T#+C2=gGWH{J*+) zw`$hdaf)i`RJY&7TrY?ltV}jSBUF9l#qg@*$KBmlm35W+%cw1GpNSg^)>dT_cIfy4 zWHw*-K6^Rar+-i-1x+iU$4VKVfyX**AX+OeiS2Q@(j{qevfcNz3~id|1*(Yn752=w z8)zU?_k?!Wil7V8NK>2icl*}j0d6i1oSd9qjM#ge*FCt-WGMV%fgo3y-xDHQY(VNv zA4Gf5@AudL^aA|K)Z*&1X#RDyi_axN%flt~(|HeY%1FoDw<<3?9a2MQEd`*(l|^Fc zwFe_}M?W;obXA?b)n%Xr>~eURie56b5Om_~{+oUjkq^CYzY~*uC$<&<$oE~_zp*Ux zb$w^Wcj8*?&Sw5hUILkCJ@2N>8{WnU4mhEV+gIfn{QRDl8@%MI7Xq?tPdq@y1N=lP zOKgsg%9X*jBY%h8DZrigS{AGWS0YaCqN+wSq9NDyQ+pEx({2s3*~dq#I`TEAWR_%FlNs)g(@Tf6b@A$5l_nE$z) zXjCk~rsX(c_o|g_Z)y|H4H>*t9j_3s#@A?ErdCzZeI=LFJ$iV3w}AvNWCQBd#KxBJ zJFkfloe1O`89`)=g1?L#rgAQCu(ru-0Z8 zI>j;nmQ@lne0mV>uqJH^6%3NlvUL{S{YEe|X{@50;x=fI;i>?A9HbN7zj2Ng!;TFz zDE+a=($}s)t);^a(sII9n67ua|4OQF=9oaZ#dg_1U8dda1*30fR6qzAPwS>bEdXUE zpel=f)Ic&)eepIi*oy_IYv5NVKAvBGZe>MTSsmS`j)qYGVEbRGPkVIb+7f`$M*JM`sus9xi1esks zw}}|(1VMAD2_8*|6NI(FX;}NKEK;_4m`OglE@j(kkmp`;tZ_d1L@7*2C0AW93hu%F z0gAmF7SBV-r3$vBXvO6AQ0vK$4Baz#7pJ1{t1<9_ZHAd>9*;uS z#-?#J@e6&%FDiQsIDDrTwOT`B0f{-cF5RteAv2~c!QH{n&z&E4j=Q3l18Q<2_kGNz zv2qj$hR}#J)h3f6Q1b(y`d4Nxh*rfkL4{n^;CpZDteFkNT^iXirh33O&Z8ib$eLp! z?S|c5BbGUtAU#uUIag-Lfd-$YC4^<}S*N(DV!j-)W3wj%gZYhCAgE6_)1~0;&5f4H zt0iR_bbvz*w=l0nXt?1%)N5O#3t+s@Qw6VnNS7XI?%wYJkNjx78$hpGG;h?DL1e&- zV5BmTLT;|Tl$gu*yz$mucS$Sgmp7N4p)6V?IW9@KZAljzY9;I2{SF^I!NFy@EsP|? zj`3!Y=}xA!f}Q9wwg2c0KES7O*_iut{Jj5Hn2_wjcg9c^%sDlJDGN^HSF00#?}9=< z@#mDIOasonnl#zqP0hbOr(W~M_8#5i-{(#pJbsW{z{$b}E~Z(@R#NN9!#5F#+tKpi zZnGL?usHxG*6LP02w6sa!>aqv`P-?fz4#P;79N~JYhSG)`0m{P+KQ^HfHE*}Cl)Qy})JxH*j4u~cyN@Q@SvzinObYZl$qCuI8 z*4(BjR+S~2>%nlv9>s=P&)letrqPht7iG4V1wjNEZIb+AEreWbJ=iEB<$X z#S#w9dYdUiPPLouVxEIxkw3Xa+n3g}!{R{+tbD`s*-JxR5Aaxvy9ASIMfFlBLVlhc zgAhL7oiXSiufbk8vQzom*u$&OmdhA+&rs~ZJ$!|BERqA6(vAq#{@kCSly+D_sq+MV znrQ}k)4H#x`gWO2T(prPYEptq^Z1g!;Z7=pf@;%PnoVlu!bsVNf5dO0P+J?S)q6er zE^vkG7VsVGHU3J%e^iS$dqL}er?xsF|-NCwQ!p-QChYb6@RR;eMuai!aX_31H9@s5YE+o0%^*D$J zjkCERevMJcu4__4j4d6}a52 zCpi5PdLuvURRF)%(xy5nd{N<;Py6MUhNU@2ZmC9Ov@1}LO)FKvYno^qyYqmMYoA!g zFX7TP%$!}guqunxGWR2x^(`G8&5ZTX@QPD~Q-~Q$j*=6C+?Sm+nf;GgsOu6IoGx!k zk^LWrHpZo;`_o~kO9XQ*(e0pMo->lzJJWO=lNefVP_NS2%BHll@X?|Ya39vOY^qEh z!ecV}*F)r;FxgjXc~AA-9}uDRYgQp>`cM9s1e{O%4U6=qaYBP*i|BuLD;{K+=Lsn# zW1`oR(BQu-$El)ZTUw;vK7A%}K_ay`)>mZLo4=A0czfSXSGhHSL?qT-=2fw1BFn@n zNI;L{JU4F)Ne=g58$J@?s|o?-;PpUS?2ruiI!BIR=O!|cet?c5E(YgegrW~yGi-5` ztl4N9ITr#PZ*Kj*Y*PmHr>i#Q=m7Om9IoYmc|GRIA8kYuRLn~~pgXcwt+ z^4(xj35g)s#OeIv!EbY?(+%*)b*X=ljuEe=^$G{9#_;J))5yNho2U7%QA{C&U`iht zlY;cz46uR3dN?qMgPKCHlmTbDOfGoxaOXPGNsslwf^$rN9Q$13eacligU{iD=!6F% z`dt9Ib+#E1dfl+)cZbvu(mdoZl$-5v#>-x4YtJ`@HnoL=hcX?>@wW})Fz@MF4C?g| z&{n9Y^W|~3+GKYMi~9{ZX#b-|yUk0fk8uSXOJz)L2#96=sm_?>m@X~PikT4)ixpzh zOu*M<*~L}~?A1pBJN zcc$*_d-ln)&@Sz&S`z79Qb1WY&4Vlxpd&%4&-r$@A%ZZ2*}swhD&@zn$p)|(xd^ci ztl3SMJSQ?7=8J~+qu{uf$zfk3+D==VQwMY}DvsV&@Nn>5jj@*nSDs!iK&1c5mj8WG zBg9^2I$gRNBcyEny|AJr%YDnQLaw@JO$^DalS45a9bm#&OV)W|f3w|S<++z5%R>Nu z*kO!fATZVa7kYrYqA=#xhzHa(_Wx!N`zLb!?2J7_w41)@R4@gc{x z?!{FkMfRYOMhRIhWK0z`^lEYK66ZK%o}3>I|F8-l0P35NCOJ2(a&;+TR?1O}>$)d_ zgci?|WIW4QLhgKIprT&af3P(^7<6d8|IOI;f76g`6zD_#pLWoH5?r)4C52*9Vzx}C zr(Fij%<9Qi^K_|@9tLL@1?B{kdvp{96f;72Zl zOIl3MKM!l$G||<9?0#7G*kUb%W-SEhqWqz!EXOlFO9(ek&53ubcJG5LtUuny)gi_=j zoDBFa)nO5QsAX^d)v=s&Qx0HE_C{u;dhn|ifDA=TOLim6x$X#}9JES0CFncMT**YYwk#L^w0 zvEG}^8tUc*QYzcOkkS9GZIEgdR-K&KeiJm2w#5c*GBV^lbhgDBOt(^Z-ZAFVH$sqL zg;bbt&K#0wmtNY}iE2&a6sv;sa~mqCFj24SXG%eiGqYdfTbtQ1-~CdsEPw~LR2kZn zJA)QVp}hLKVoHk?O3Z=(HQV*+5cpqCmkDYvzIzw_7+6pc2zB22LwWMBGb)jwsI&w! zM8z-P;zmz?wV?KZ(I$vCy-E%RY67*9V=XnwF27_rDvVJ>lW-btzp89fkXM)g*-{zb zXX&}aK0P2b{ju)~Q`geCtFnySh_0S|LMg`P`03rCQ&>+gO1&B#%+?2}*|?Ca69pDG zj3I|>aB)DLO5dPNL%aZwDkA&`B5^>QFE zl}<4C@Tcym!u)eDx6^0W5goGvcqi+c1TBK^D#Oa{;Te-VXso4`ZM}VbLlZD^QzYSo z^@x;*jdb;59|HLd*^f}*^3;{<+WC!)E0u$G173U#!X1Tx0ydVhQw%02uMfRHxCAQL{y9 z*t5>6sfBv`x}=bN35m0hqf1#^E8k1)n+O8QDLAwd5?2KAj(kQAoSSrP8W+zuM%3{w zTAt9I8&I46=)IdIjA<=tIC~?%jd--?T8}|fVe>^8_T$k>Vz$TYiZxJMO3CNkHt@!( z!2BFSfTNQ0o*XD?#FGqICYp|O!7#VOdk+Bge)+Y-hhrmEf=aBNzvEGwmij9UiV3tf zJ@;pR*w%A9bQJ1-un@z!ZP|VLQM~Gn{+&T~+yfDOV)YV@(Gn1nP!>&|r}lMhJ1Z%` z89}INZWp<6kzUqE%CeT7Yx(87d`0U&cNMuL?AbhN?Dx+f^*`_I4Vc<#R`DQ*^IvW* zo?e@JYR+v&3{Gi1AZk1C@d51V<{14N={L}K5+I5#8j^h`)}qYegy2kSQL}8YOWAOY z4Q>G>mAa#Q-^ooffUQCvm5)IZzAZbsLeL|vyy52Fhe*=WeD8KBgH@z$g*4ktAE~-L zr*bf~LNxj?Ul(ql(85xlI#%+szm$h;{|ZcK+}tatPdzrNm6s~r!l*5Z3@MDu(Dj!f zADh;pK?)?8kA7b^0#y+P}P1nnXj81s8M0HusB_g=cz&iHtpzw66tn+xco z`*Q|LdA`kC<%%e;##kGR8u@9LP(Z2NeEfIHQ=K9xV{|l=|EWzz%1~x?w0G|8%&J}n z7}F-e3#u;KTT{B@X`}d?qWQ_Fudcrdg00(M?RzqUqnEI~J5bp#w_`72C_4#fkZ5tx zg|gf42Mb;~63{hb11uB>KD1=!kk8lca61FdP3g7?@T}G`30f`Gq}YdJFe-(YS~-cR zfULK;Jn*IJ)^R}<6AFKmIu$X}0I>Bz^_pm&u_tKZz)1=P=%X!7BXEwj!qsUAh3X@g zlg@%rXSt=egE9Hcw1zIJJkptztg|EK^C*IrCF{kNT$wgEJ{|dGzKEu>x-Kak(BHaT z_~n-~Btc5DS- z8!~0QK&ohAq2+bysgtdU@P;J=3=(O^H;bTCJTN8TmzRP9wG+DmG#jx^!JymRILmSkI9i8uBm#zlWyEX}E>fZK^HDSIBL!1BGG zJg0LQ{uh^q47x7@)wJHXjTqqe)}u&y?@?vytWw`AQdEFaK9yVFHDb8|&f2Y1?i%wN zrBqJ*xWmHyryWNrbjfs_*HZ3uKG6I2w(Vs=!f?5=V;`FQDF5{U&oj4~~gd@ObE2WUfDcjWSUpJ%vZM;yZ71Ajbj@trNplyXCc;%YhB1snl71I1wh9*rm<4IOp_epIjmzBc;Qt!4`Nt zd_BA11c0B7_j;cvlag3ZH)a;354#_NNuS^jH1sBonnpVJC;N{Qh8^4PC)#6V?1$rC z54>4NUms^HNPNbIWdn*e8rKgasT$36680T;8sI|PUguO|gNcxvVgR!}lh=HEaqn!4 z4$+C*ixz=PnO$?&SLsWcqoi4{20)D)vla&ulR%-dSV}E*XVpI!j zV`Wfxe*bK4O{cw!RUB|<6mbWViNAO7qG4K-qzwIH(8;miG<8h5S`yUfe71Bq1Pm6^ z7zFxMiyK}^=y0i5Td!!t%bYTIGb{X-N~>5e!<>v09leXzLQbKtP>3I`9FIr66dAhs z{}H*cde<_4e%)bjy(m`KG4?7R+|jw_bMu%}x{KDo`MB~F;;EQuc$B9KO^~_W}zg{zd?@Xf;+Mfakhu<9jCSH95GmiY3! zbKC>7=nmrXc_;?~>I8>pUq4RjfN^x$=kcItII}#U^MQ}X9YX&Je%v1etONJd1TgOw3qWZK=I!L1E=`3zK({NieAvRb}Iji+~g$)`?&?@M34B2PqREjauJhTxAJ{7S@y0&+ibH3ORsN(=;No*z^H8;S$0ajcTq=BD z9@JjU%YvK8afk2CQWt<1r2?GyzQ65tMk_0z%J?z-|@Cdp+#vQ-x-)YHu^ z%rbwKLcqJncszUGsdD#Q^Tpr#K<9|JFJeau6{0Di*%}I_ae3f2!owc-uok)r_)3TH zSb(KhU_&j?aQp1b=%KGwV^e3?%`WZU&n9r8-1WvAw3_9Tb3aJ+{0-vG25d2Jr)~RV z@EWyTWBDdeaIrg)ytE1M>K>i8h$QfhZo%Gny0q<4jSR;1f-!hYY73dDe`lDr#jS#v zGWgZ2rv+hX+T{ERB-uS9z0J&g#i+Ij4!WCFfzJ4ftcncrBphiujJvqbeAz}?>*im+ z##%Ri9*kj42Zly4tZ&25^rMFhh{ZV9B5m(i|L&3~`M3u%oV@v(v+r-!k3D&_3j-83 zH93^o{%H-1E>$1a(;TNo1#oodRi;K^^3n(0m3u4@bWpeH|ueoBRJGZ(XBw#c;^I6VFc?N`6A zblmg&AGb#%iuah9Ih58Owo2H1XRr5+d+EytB|gFc$sA5SMTOXomXuY-+{6>6DZURt z&*+1TZQ+jo$C7YkTj~N2@5_~=1YJW3nFOU4_PfK~>;=?ucYB#0yXVdE<8YTZ1qXMd1}ncw z<#%R=Nqt}~$fiMHAZp0s-TK8VTFGd(R(k8eUdM9eHCf6ZlR?aa0N8!nY190J3V9EH zhI2eLkGcy`C@#Fn4d4^9NFz>wzrRxY8hUB)R8Hr`%!>v}8~`o&tbcknepn%L-(Jq* z3eH{6!6-i^K1i^!%rybQ`mSQd6)g_-<{9DY`nQuRruYxQC8NH)R1d!@z6WvN2_<_- zWxSA@2-p=7rzW5P8U;QoJ^C-hSkzw>-J`WlX){mSFu_Qf6C=$kp%c~zTl?ypWpACB zJ87Yv_;gV+sRVIv7}akCc-)3uE|Oix<9Wwvu?wGZ`On@m@!`>7-G`Li=B;T=UAEwC zBFNo}Y_s77@*clyq5HMjdt$>xfPwL7ogr|DqskheL{D!tmM@pajnVSsM|U>~n{z{} zhk0y{S{JQzH=?<%ytJ|#h?jlsdxP}m zYgqrQqMa2d=NdZ^&#=Imvt@sL2a}ZTTzO|?z>&Bc=rqxk)NjD0G!uD;jN82ar{IET^E|$B05n>$<5t~X*{S1w1 zTMath*fVNuS~e!+IWl(0C$0;rI?Q~XLf$fJUWD%+meKPOJ z$>A-jy3gD$6*fjv0r5TB+NGHsRfvA79?Q4fe~_&HzT9uWm&o5v)V-E1a0e)UK}>*Qxf=r)_^%DeS6AW9yEIqoibB$bo{SW6G zVAu9v-|qfzDO-LHrQcL&A~K7aK3|=BS4TW?1oCM`_*$o(5)}U+lZjz6D`9aYQ|Wf4 zxSJ@+S%g%0vaLUX9i-Q%?MqAkDD+1{7~IqH zwkfJDmQcBEZU__T^rS)?rFc4O-KTo0pM0<17*MK4xN|w94<|LhIB+ytr=aPU_C$QgLJl*qqjij7*8xKKZrmZt6<5XQkRVyA>S>m&?Tx%9vbCEHAgOO;|1CKabIqkO-c zgZzyRSDO*J4*moHh_3(sFF=%fshCNvVhW4iB6|;1>KuYUFp3R5@1<3P&AT`dk-_}N zU#W&0m%o@tVEHB=>WU29PYhL*bOuYGGX0rVt!4R$@KN=kSL=%jw6+tA_R^Rr*l=)q zg}J1|Z>KWT2E*7g-Sp1;U--jIFT2yaR(L|mD6GBYA2u1B?GudO8>m#`S)%2`Giny4 zFH`-o@K6GOUY>V@e7pHI9TD==4|Iz^8-p#B9O4|&?`JLNN(()Zu;M5gCoo09QU|f- zATf|B+N#XNBvvsx>K>YqjD-wnIICO8{acfs<5_F%Xn;aEZt~#`DJPf<12tsLXc;Jg zyi)wiGP?17X%td9D!c@BS*M4>uk9j6+td;p6*(ygO4#dVCUqvTA&Cbcq4Q)6o{+@- zfhN#U$cBe3>&&K~(DmKfOlqxAi&l(6H6;1-C%b;F`{LRkrzo<)upwg0)WyAUbW$kL zvHF4W$23qPxBc6DTFS4`CGI3qv*Oq}mW>#uk}iZfx*B5LFZjK*$XNy1z2AXX|$DL0&ji>!I6Gy4cizbR-9 zRc2#m@>J;AAEVMFZI#&MhKYHmHQ7+P8DnE&-L!inQqHG)1o>wYj)Q7Mpyz8QZSCY6 zQ%(&rQg>5WY~_{qmN>oHB{FF)vu~|2YKWPx^Ps}3D3&)y|0wBlEz_fxh%MP_)F6_d zAlt$Yj+T;^l)()ASQVfsJ9uUFoTBiBrvnGPM6k4E@R>wL^n?3b1Vz^kiLb_Ac1KLP zQ4kQqg+vOFEZso;+t_j7RToGxb>>UaXSs6#1Os7T#0Jmo2-@5Ui&F?a1Hj#>4 z60UhYExTmJ8}555ahFR%&mYbqb4dP1UTmDBwH31FDYq->a!U5DI9gTc#m35p=uR1^q`CV-uZW_rbpr-AQ<90QXBkZQMbK?7-`m+fOD zou}7})Bm(g4gf#`{O*~#kyMW$Ve;t3L%TVQnt*d07Wh%0l#f8ZG%wmn<5PsD`E;pKdM; zN$1iac;=2PM7^mY$kEaS-h9Y?CM6_6!i?KBRdWJ<&6@IF|Q&%ZLv(c+=(XB zRl@-RKnS~etNyAvnCEgzuKgjWWDsmmy8TN}?mG9%gvB`(4o|tPIMME%4hNGC^Tf-CXB12hkhu-koO2Bm zR@YQGI_+^xSl$w}=3EL0iiCuJ%H^42N$@+9CNt*=rlQelmvbr%IR=IRNV)A3Hs|yw z@h7OfhFYT6I&N*B3P-2C?GwhAW|Xz00Y{0E`)V*)5CnmnYOajI|KHvnIwcInaRC2u zp1kuo58F)4Hri-JY0%W-BMfc<^gK`Q z`}qsrEqrhLes3Fb)m*HnsyP#Z-?QAj!ihxQlx@q^h!YdX7t@aLr-RRKZ+XE9=IzQb zO`P;e>?Wd_;}eY&@w7IoG{ch8?^Xn<<4$Dlm`2Co;y8W`?#ip82*+SWA64(YNY%O+ zWtr-jwMAzPqbzIi9c_BB!}hy9PmY3}(vkyoxax zw$R33QIk*ah1`tFDf>1V*C7Ni_M~KZ+4{b1toKJQ`BB=NNGshs{q_q%-d)bU&Zb@) zN&GYp;7`OyNg^R|X?|5Elj!&HkOSKuC2QPD%v%jvZ+H)n{_`6V5iwG;I|YN4FO#{0 zO*+M&-IWY&_vp-%+HSp-G7iyY0{pKi0RV`=_euZ&Q33#n5&%Gy001CL002<}0EiL* eK$HLg#Q6fz_lOg2lp=Tl0000M1D5o!C12 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]+)\s*<([^ ,<@]+@[^> ,]+)>') diff --git a/mail_fix_header_from/static/description/icon.png b/mail_fix_header_from/static/description/icon.png deleted file mode 100644 index 79f7d8fe294f838cf2996940c40dc08dde60642f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2140 zcmV-i2&4CjP)=D+Wys1fe}G$Q#Z2832St25n<}h#$%L7sUBHn zgVlR~4gtNOs+KA#@5q|?_&of{fCW3h;+eI-@is^))^C>Ap=O06Yq-$?c7APo?&VKv z))(zizAhAwtYInZ&irDhM>SGBFM>?d${LzoxNVMo=er+dj|dVX82(itvPy&nJI7R} zxal|{b!VXeY~=?NW24HG!g#W&q%^mz9C_k)O~vB$l!nR>c7Azkc41B0?h`G%re>$6 zR3XK_wP$L$`wA`+vfQ*It2kJ&bC8N#=Y*z`?T#poH4<6rMKBSth@G$Anh#P6geeX3 z66#s7^ZuFn%%U9v!&L5`a;i`|jy4C6tV1;wvTsBRf(1LrR7N-{7FL;Ru=vP|@loCg zW(jHMC_PwJ+DqF+1@u$zm8o8m$Y1m0V>0T?5;C37EIq_^W|6qn&f)G(Em&B}uDzZf z*)+}sw{t=Y4awlQ*0UI=qn@0G^f!D}&U?lzXXnrqYS25*U`_+Qpa)L`slkiwNPnpt zbLhf?onzn&_-r^=Y+@25re#c%ToI(Yb5h;e6h}ke&V&2_vM3~m`<859t@^AmkXN#4 zp3=nL641^=Hb@NJ0y10#e8NYUd#FM=yd}$j-ZOZiJuPn=y})eY?Y#H?ythe(9+=(P z=pO{n_Ag1zK#!ilNhilfXs;Am_;fC9#?QGvtNfjZ8h);==7&rFJ5QsnusaH>>SjHY zMC`QRjtOGt!fz}(jiG1vi5A$ZVuAvl9f!Vzpm3p#doq~Eg#RkU_3sSy1kxiU%8{*-oYZcOz=#QLgi{iP%6NR;q2W-(ziFHtAxczhQ%>g55VsxmVxu{OgA(z8>)V_eL6l3DJe$G5=tJp1|FDThBVI=FE7j=3tSDuEI+K+>VJ0yjG=W@S`oh zY;UN?#paSycm6BhAH$yR>Hg=JAHz8+5-u#Cw5f387dA))IagN=LE)YiRtGqa4{&&- z?Akk2Q!(?$O{HOxfl1vpCei`ivon?ZK`rFDC~Jz{*?3agX(WqeLDAmP6g%rA0{0<> zeqtzKYj)#fyZMfN2OiuS5UVdK(E;HAX;YO|@Z}oGtA&1=LO(l>HnWdoj~#w9CnQPu zz$YVGP~7xI^+ijcUcstRfTEHe{7dZ7Q=w&u@tA}I)g3C3b#`)vCi?y*=jMs3M4_;7 z>sC2k0T-cEZ{)}r0)&rGk$e2;VuY_meg`{ogL|Bk!JluaKhH%NZ8kn?5uft;?gWym z*MCY|fYs06&r)EvXweNU2#O3lwsaSN3LjB|<)5GbI&(^F8Ja$Saf5Dn zfe8N*NS_HTjLe(YbWiuKO3@!C&=suZc=@z@*Skh)DrGicOE-M=A%!7Zj9>aSC(&v#nWVj-o?-d4Br_8Z zDP85P;LTw*XT(K^Ln=~W$+dIA7^DnX@{`gzERF6PYOuNDqSwU8{M+dh76b)Z$^Np8 zK`L@#(IcfdSX4>r$FmU4GvlLe(Pp~uq7PD-^kM2p`;8cbRHVRCk`&s%0t^5+Kg1eL SSUIi$0000 - - - - - Outgoing - mail.mail - form - tree,form - {} - - -

- Failed or delayed emails will be shown here. You will be able to retry failed emails and send delayed emails manually. -

-
-
- - - - - - Open Outgoing Menu - reload - - - - - open - - - -
-
diff --git a/mail_outgoing/security/ir.model.access.csv b/mail_outgoing/security/ir.model.access.csv deleted file mode 100644 index 9ae9ee1..0000000 --- a/mail_outgoing/security/ir.model.access.csv +++ /dev/null @@ -1,3 +0,0 @@ -id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink -access_mail_mail_system,mail.mail.system,model_mail_mail,mail_outgoing.group_all_emails,1,1,1,1 - diff --git a/mail_outgoing/security/mail_outgoing.xml b/mail_outgoing/security/mail_outgoing.xml deleted file mode 100644 index 75648c9..0000000 --- a/mail_outgoing/security/mail_outgoing.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - all_emails - Gets access to all emails. For example to check outgoing emails. - - - - mail.mail: user - - [('author_id', '=', user.partner_id.id)] - - - - - - - - - - mail.mail: system - - [(1, '=', 1)] - - - - - - - - - diff --git a/mail_outgoing/static/description/icon.png b/mail_outgoing/static/description/icon.png deleted file mode 100644 index 79f7d8fe294f838cf2996940c40dc08dde60642f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2140 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 SSUIi$0000 - - - - - - - - { - 'default_model': 'res.users', - 'default_res_id': uid, - 'thread_model': 'res.partner', - 'search_default_message_unread': False, - 'view_todo': True - } - - - - - - diff --git a/mail_todo_custom/static/src/js/mail_todo_custom.js b/mail_todo_custom/static/src/js/mail_todo_custom.js deleted file mode 100644 index 66a3bfc..0000000 --- a/mail_todo_custom/static/src/js/mail_todo_custom.js +++ /dev/null @@ -1,44 +0,0 @@ -openerp.mail_todo_custom = function(session) { - - var mail = session.mail; - - mail.ThreadMessage.include({ - - on_star: function (event) { - event.stopPropagation(); - var self=this; - var button = self.$('.oe_star:first'); - - this.ds_message.call('set_message_starred', [[self.id], !self.is_favorite, true]) - .then(function (star) { - self.is_favorite=star; - if (self.is_favorite) { - button.addClass('oe_starred'); - } else { - button.removeClass('oe_starred'); - } - - if (self.options.view_inbox && self.is_favorite) { - self.on_message_read_unread(true); - } - else { - self.check_for_rerender(); - } - if (self.options.view_todo && !self.is_favorite) { - self.on_message_read_unread(true); - } - }); - return false; - }, - - }); - - mail.Widget.include({ - - init: function (parent, action) { - this._super(parent, action); - this.action.params.view_todo = this.action.context.view_todo || false; - }, - - }); -}; diff --git a/mass_mailing_extra/__init__.py b/mass_mailing_extra/__init__.py deleted file mode 100644 index a0fdc10..0000000 --- a/mass_mailing_extra/__init__.py +++ /dev/null @@ -1,2 +0,0 @@ -# -*- coding: utf-8 -*- -from . import models diff --git a/mass_mailing_extra/__openerp__.py b/mass_mailing_extra/__openerp__.py deleted file mode 100644 index 5f4aa39..0000000 --- a/mass_mailing_extra/__openerp__.py +++ /dev/null @@ -1,22 +0,0 @@ -# -*- coding: utf-8 -*- -{ - 'name': 'Improvements for mass mailing', - 'version': '1.0.0', - 'author': 'IT-Projects LLC, Ivan Yelizariev', - 'license': 'LGPL-3', - "category": "Discuss", - 'website': 'https://yelizariev.github.io', - 'description': """ -Modules adds: - -* partners info in mail.mail.statistics tree -* partners info in mail.mail.statistics form - -Tested on 8.0 f8d5a6727d3e8d428d9bef93da7ba6b11f344284 - """, - 'depends': ['mass_mailing'], - 'data': [ - 'views.xml', - ], - 'installable': False -} diff --git a/mass_mailing_extra/models.py b/mass_mailing_extra/models.py deleted file mode 100644 index 0dadfea..0000000 --- a/mass_mailing_extra/models.py +++ /dev/null @@ -1,29 +0,0 @@ -# -*- coding: utf-8 -*- -from openerp import api, models, fields - - -class MailMailStats(models.Model): - - _inherit = 'mail.mail.statistics' - - partner_ids = fields.Many2many('res.partner', related='mail_mail_id.recipient_ids', string='Partners (Mail)') - - @api.one - def _get_partner_id(self): - if self.model == 'res.partner': - self.partner_id = self.res_id - else: - self.partner_id = None - - partner_id = fields.Many2one('res.partner', compute=_get_partner_id, string='Partner (Document ID)') - - @api.one - def _get_partners(self): - res = {} - for p in self.partner_ids: - res[p.id] = p - if self.partner_id and self.partner_id.id not in res: - res[self.partner_id.id] = self.partner_id - self.partners = ', '.join([('%s <%s>' % (p.name, p.email)) for id, p in res.items()]) - - partners = fields.Char('Partners', compute=_get_partners) diff --git a/mass_mailing_extra/static/description/icon.png b/mass_mailing_extra/static/description/icon.png deleted file mode 100644 index 79f7d8fe294f838cf2996940c40dc08dde60642f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2140 zcmV-i2&4CjP)=D+Wys1fe}G$Q#Z2832St25n<}h#$%L7sUBHn zgVlR~4gtNOs+KA#@5q|?_&of{fCW3h;+eI-@is^))^C>Ap=O06Yq-$?c7APo?&VKv z))(zizAhAwtYInZ&irDhM>SGBFM>?d${LzoxNVMo=er+dj|dVX82(itvPy&nJI7R} zxal|{b!VXeY~=?NW24HG!g#W&q%^mz9C_k)O~vB$l!nR>c7Azkc41B0?h`G%re>$6 zR3XK_wP$L$`wA`+vfQ*It2kJ&bC8N#=Y*z`?T#poH4<6rMKBSth@G$Anh#P6geeX3 z66#s7^ZuFn%%U9v!&L5`a;i`|jy4C6tV1;wvTsBRf(1LrR7N-{7FL;Ru=vP|@loCg zW(jHMC_PwJ+DqF+1@u$zm8o8m$Y1m0V>0T?5;C37EIq_^W|6qn&f)G(Em&B}uDzZf z*)+}sw{t=Y4awlQ*0UI=qn@0G^f!D}&U?lzXXnrqYS25*U`_+Qpa)L`slkiwNPnpt zbLhf?onzn&_-r^=Y+@25re#c%ToI(Yb5h;e6h}ke&V&2_vM3~m`<859t@^AmkXN#4 zp3=nL641^=Hb@NJ0y10#e8NYUd#FM=yd}$j-ZOZiJuPn=y})eY?Y#H?ythe(9+=(P z=pO{n_Ag1zK#!ilNhilfXs;Am_;fC9#?QGvtNfjZ8h);==7&rFJ5QsnusaH>>SjHY zMC`QRjtOGt!fz}(jiG1vi5A$ZVuAvl9f!Vzpm3p#doq~Eg#RkU_3sSy1kxiU%8{*-oYZcOz=#QLgi{iP%6NR;q2W-(ziFHtAxczhQ%>g55VsxmVxu{OgA(z8>)V_eL6l3DJe$G5=tJp1|FDThBVI=FE7j=3tSDuEI+K+>VJ0yjG=W@S`oh zY;UN?#paSycm6BhAH$yR>Hg=JAHz8+5-u#Cw5f387dA))IagN=LE)YiRtGqa4{&&- z?Akk2Q!(?$O{HOxfl1vpCei`ivon?ZK`rFDC~Jz{*?3agX(WqeLDAmP6g%rA0{0<> zeqtzKYj)#fyZMfN2OiuS5UVdK(E;HAX;YO|@Z}oGtA&1=LO(l>HnWdoj~#w9CnQPu zz$YVGP~7xI^+ijcUcstRfTEHe{7dZ7Q=w&u@tA}I)g3C3b#`)vCi?y*=jMs3M4_;7 z>sC2k0T-cEZ{)}r0)&rGk$e2;VuY_meg`{ogL|Bk!JluaKhH%NZ8kn?5uft;?gWym z*MCY|fYs06&r)EvXweNU2#O3lwsaSN3LjB|<)5GbI&(^F8Ja$Saf5Dn zfe8N*NS_HTjLe(YbWiuKO3@!C&=suZc=@z@*Skh)DrGicOE-M=A%!7Zj9>aSC(&v#nWVj-o?-d4Br_8Z zDP85P;LTw*XT(K^Ln=~W$+dIA7^DnX@{`gzERF6PYOuNDqSwU8{M+dh76b)Z$^Np8 zK`L@#(IcfdSX4>r$FmU4GvlLe(Pp~uq7PD-^kM2p`;8cbRHVRCk`&s%0t^5+Kg1eL SSUIi$0000 - - - - - mail.mail.statistics.form - mail.mail.statistics - - - - - - - - - - - - - - - mail.mail.statistics.tree - mail.mail.statistics - - - - - - - - - - diff --git a/res_partner_strip_email/README.rst b/res_partner_strip_email/README.rst deleted file mode 100644 index c90a29b..0000000 --- a/res_partner_strip_email/README.rst +++ /dev/null @@ -1 +0,0 @@ -Trim email field in partner form. diff --git a/res_partner_strip_email/__init__.py b/res_partner_strip_email/__init__.py deleted file mode 100644 index a0fdc10..0000000 --- a/res_partner_strip_email/__init__.py +++ /dev/null @@ -1,2 +0,0 @@ -# -*- coding: utf-8 -*- -from . import models diff --git a/res_partner_strip_email/__openerp__.py b/res_partner_strip_email/__openerp__.py deleted file mode 100644 index b2f833d..0000000 --- a/res_partner_strip_email/__openerp__.py +++ /dev/null @@ -1,21 +0,0 @@ -# -*- coding: utf-8 -*- -{ - 'name': "Trim partner's email", - 'summary': "", - 'author': "IT-Projects LLC, Ivan Yelizariev", - 'license': 'LGPL-3', - 'website': "https://yelizariev.github.io", - - # Categories can be used to filter modules in modules listing - # Check https://github.com/odoo/odoo/blob/master/openerp/addons/base/module/module_data.xml - # for the full list - "category": "Discuss", - 'version': '1.0.0', - - # any module necessary for this one to work correctly - 'depends': ['base'], - - # always loaded - 'data': [], - 'installable': False, -} diff --git a/res_partner_strip_email/models.py b/res_partner_strip_email/models.py deleted file mode 100644 index d2406fe..0000000 --- a/res_partner_strip_email/models.py +++ /dev/null @@ -1,23 +0,0 @@ -# -*- coding: utf-8 -*- - -from openerp import api -from openerp import models - - -class ResPartnerStripEmail(models.Model): - _inherit = 'res.partner' - - @api.one - def write(self, vals): - vals = self._check_email_field(vals) - return super(ResPartnerStripEmail, self).write(vals) - - @api.model - def create(self, vals): - vals = self._check_email_field(vals) - return super(ResPartnerStripEmail, self).create(vals) - - def _check_email_field(self, vals): - if vals.get('email'): - vals['email'] = vals['email'].strip() - return vals diff --git a/res_partner_strip_email/static/description/icon.png b/res_partner_strip_email/static/description/icon.png deleted file mode 100644 index b43a0a135f903a4c0c401f03a8690fbbd021a2ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3035 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 Date: Fri, 1 Dec 2017 11:32:59 +0500 Subject: [PATCH 44/45] [DOC] Added message about the unavailability of the modules in later versions.(#129) --- .gitignore | 58 +++++++++++++++++++++++ mail_delete_odoo_footer/README.rst | 35 ++++++++++++-- mail_delete_odoo_footer/doc/changelog.rst | 4 ++ mail_delete_odoo_footer/doc/index.rst | 13 +++++ mail_fix_empty_body/README.rst | 33 +++++++++++-- mail_fix_empty_body/doc/changelog.rst | 4 ++ mail_fix_empty_body/doc/index.rst | 13 +++++ mail_fix_header_from/README.rst | 30 ++++++++++++ mail_outgoing/README.rst | 35 ++++++++++++++ mail_outgoing/__openerp__.py | 4 +- mail_outgoing/doc/changelog.rst | 4 ++ mail_outgoing/doc/index.rst | 8 ++++ mail_partner_lang/README.rst | 37 +++++++++++++-- mail_partner_lang/doc/changelog.rst | 4 ++ mail_partner_lang/doc/index.rst | 13 +++++ mail_todo_custom/README.rst | 35 +++++++++++++- mail_todo_custom/doc/changelog.rst | 4 ++ mail_todo_custom/doc/index.rst | 26 ++++++++++ mass_mailing_extra/README.rst | 37 +++++++++++++++ mass_mailing_extra/__openerp__.py | 8 ++-- mass_mailing_extra/doc/changelog.rst | 4 ++ mass_mailing_extra/doc/index.rst | 13 +++++ res_partner_strip_email/README.rst | 34 +++++++++++++ res_partner_strip_email/doc/changelog.rst | 4 ++ res_partner_strip_email/doc/index.rst | 13 +++++ 25 files changed, 454 insertions(+), 19 deletions(-) create mode 100644 .gitignore create mode 100644 mail_delete_odoo_footer/doc/changelog.rst create mode 100644 mail_delete_odoo_footer/doc/index.rst create mode 100644 mail_fix_empty_body/doc/changelog.rst create mode 100644 mail_fix_empty_body/doc/index.rst create mode 100644 mail_fix_header_from/README.rst create mode 100644 mail_outgoing/README.rst create mode 100644 mail_outgoing/doc/changelog.rst create mode 100644 mail_outgoing/doc/index.rst create mode 100644 mail_partner_lang/doc/changelog.rst create mode 100644 mail_partner_lang/doc/index.rst create mode 100644 mail_todo_custom/doc/changelog.rst create mode 100644 mail_todo_custom/doc/index.rst create mode 100644 mass_mailing_extra/README.rst create mode 100644 mass_mailing_extra/doc/changelog.rst create mode 100644 mass_mailing_extra/doc/index.rst create mode 100644 res_partner_strip_email/doc/changelog.rst create mode 100644 res_partner_strip_email/doc/index.rst diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f5bf24e --- /dev/null +++ b/.gitignore @@ -0,0 +1,58 @@ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] + +# C extensions +*.so + +# Distribution / packaging +.Python +env/ +bin/ +build/ +develop-eggs/ +dist/ +eggs/ +lib64/ +parts/ +sdist/ +var/ +*.egg-info/ +.installed.cfg +*.egg + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.coverage +.cache +nosetests.xml +coverage.xml + +# Translations +*.mo + +# Pycharm +.idea + +# Mr Developer +.mr.developer.cfg +.project +.pydevproject + +# Rope +.ropeproject + +# Sphinx documentation +docs/_build/ + +# Backup files +*~ +*.swp + +# odoo +!static/lib/ diff --git a/mail_delete_odoo_footer/README.rst b/mail_delete_odoo_footer/README.rst index 1cbeaa2..3bd7e6c 100644 --- a/mail_delete_odoo_footer/README.rst +++ b/mail_delete_odoo_footer/README.rst @@ -1,4 +1,33 @@ -Delete Odoo footer in email -=========================== +============================= + Delete Odoo footer in email +============================= -Tested on 8.0 ab7b5d7732a7c222a0aea45bd173742acd47242d +Credits +======= + +Contributors +------------ +* `Ivan Yelizariev `__ + +Sponsors +-------- +* `IT-Projects LLC `__ + +Maintainers +----------- +* `IT-Projects LLC `__ + + The module is not maintained since Odoo 9.0. + +Further information +=================== + +Demo: http://runbot.it-projects.info/demo/mail_addons/8.0 + +HTML Description: https://apps.odoo.com/apps/modules/8.0/mail_delete_odoo_footer/ + +Usage instructions: ``_ + +Changelog: ``_ + +Tested on Odoo 8.0 ab7b5d7732a7c222a0aea45bd173742acd47242d diff --git a/mail_delete_odoo_footer/doc/changelog.rst b/mail_delete_odoo_footer/doc/changelog.rst new file mode 100644 index 0000000..9ee2b48 --- /dev/null +++ b/mail_delete_odoo_footer/doc/changelog.rst @@ -0,0 +1,4 @@ +`1.0.0` +------- + +- Init version diff --git a/mail_delete_odoo_footer/doc/index.rst b/mail_delete_odoo_footer/doc/index.rst new file mode 100644 index 0000000..30635ac --- /dev/null +++ b/mail_delete_odoo_footer/doc/index.rst @@ -0,0 +1,13 @@ +============================= + Delete Odoo footer in email +============================= + +Installation +============ + +* `Install `__ this module in a usual way + +Configuration +============= + +This module do not need any special configuration. diff --git a/mail_fix_empty_body/README.rst b/mail_fix_empty_body/README.rst index 7be4736..7aedc67 100644 --- a/mail_fix_empty_body/README.rst +++ b/mail_fix_empty_body/README.rst @@ -1,6 +1,33 @@ -Fix "False" in empty email body -=============================== +================================= + Fix "False" in empty email body +================================= -Description: https://apps.odoo.com/apps/modules/8.0/mail_fix_empty_body/ +Credits +======= + +Contributors +------------ +* `Ivan Yelizariev `__ + +Sponsors +-------- +* `IT-Projects LLC `__ + +Maintainers +----------- +* `IT-Projects LLC `__ + + The module is not maintained since Odoo 9.0. + +Further information +=================== + +Demo: http://runbot.it-projects.info/demo/mail_addons/8.0 + +HTML Description: https://apps.odoo.com/apps/modules/8.0/mail_fix_empty_body/ + +Usage instructions: ``_ + +Changelog: ``_ Tested on Odoo 8.0 ab7b5d7732a7c222a0aea45bd173742acd47242d diff --git a/mail_fix_empty_body/doc/changelog.rst b/mail_fix_empty_body/doc/changelog.rst new file mode 100644 index 0000000..9ee2b48 --- /dev/null +++ b/mail_fix_empty_body/doc/changelog.rst @@ -0,0 +1,4 @@ +`1.0.0` +------- + +- Init version diff --git a/mail_fix_empty_body/doc/index.rst b/mail_fix_empty_body/doc/index.rst new file mode 100644 index 0000000..7ea05f0 --- /dev/null +++ b/mail_fix_empty_body/doc/index.rst @@ -0,0 +1,13 @@ +================================= + Fix "False" in empty email body +================================= + +Installation +============ + +* `Install `__ this module in a usual way + +Configuration +============= + +This module do not need any special configuration. diff --git a/mail_fix_header_from/README.rst b/mail_fix_header_from/README.rst new file mode 100644 index 0000000..bf371da --- /dev/null +++ b/mail_fix_header_from/README.rst @@ -0,0 +1,30 @@ +======================================= + Fix non-ascii header 'from' (OBSOLETE) +======================================= + +Obsolete in odoo 8.0 since Sep 10, 2014 https://github.com/odoo/odoo/commit/f2cf6ced17d3477b8858e3a8f955a42cc8a629ff . You can install this module, if you use older version. + + +Credits +======= + +Contributors +------------ +* `Ivan Yelizariev `__ + +Sponsors +-------- +* `IT-Projects LLC `__ + +Maintainers +----------- +* `IT-Projects LLC `__ + + The module is not maintained since Odoo 9.0. + +Further information +=================== + +Demo: http://runbot.it-projects.info/demo/mail_addons/8.0 + +HTML Description: https://apps.odoo.com/apps/modules/8.0/mail_fix_header_from/ diff --git a/mail_outgoing/README.rst b/mail_outgoing/README.rst new file mode 100644 index 0000000..66f20a6 --- /dev/null +++ b/mail_outgoing/README.rst @@ -0,0 +1,35 @@ +===================== + Outgoing mails menu +===================== + + Allows to check outgoing mails, i.e. failed or delayed. + +Credits +======= + +Contributors +------------ +* `Ivan Yelizariev `__ + +Sponsors +-------- +* `IT-Projects LLC `__ + +Maintainers +----------- +* `IT-Projects LLC `__ + + The module is not maintained since Odoo 9.0. + +Further information +=================== + +Demo: http://runbot.it-projects.info/demo/mail-addons/8.0 + +HTML Description: https://apps.odoo.com/apps/modules/8.0/mail_outgoing/ + +Usage instructions: ``_ + +Changelog: ``_ + +Tested on Odoo 8.0 ab7b5d7732a7c222a0aea45bd173742acd47242d diff --git a/mail_outgoing/__openerp__.py b/mail_outgoing/__openerp__.py index 5048884..8a05699 100644 --- a/mail_outgoing/__openerp__.py +++ b/mail_outgoing/__openerp__.py @@ -7,9 +7,7 @@ "category": "Discuss", 'website': 'https://yelizariev.github.io', 'description': """ -Allows to check outgoing mails, i.e. failed or delayed. - -Tested on Odoo 8.0 ab7b5d7732a7c222a0aea45bd173742acd47242d + Allows to check outgoing mails, i.e. failed or delayed. """, 'depends': ['mail'], 'data': [ diff --git a/mail_outgoing/doc/changelog.rst b/mail_outgoing/doc/changelog.rst new file mode 100644 index 0000000..9ee2b48 --- /dev/null +++ b/mail_outgoing/doc/changelog.rst @@ -0,0 +1,4 @@ +`1.0.0` +------- + +- Init version diff --git a/mail_outgoing/doc/index.rst b/mail_outgoing/doc/index.rst new file mode 100644 index 0000000..596b858 --- /dev/null +++ b/mail_outgoing/doc/index.rst @@ -0,0 +1,8 @@ +===================== + Outgoing mails menu +===================== + +Installation +============ + +* `Install `__ this module in a usual way diff --git a/mail_partner_lang/README.rst b/mail_partner_lang/README.rst index 6e16513..e28e258 100644 --- a/mail_partner_lang/README.rst +++ b/mail_partner_lang/README.rst @@ -1,4 +1,35 @@ -Use partner language in mail -============================ +============================== + Use partner language in mail +============================== -FIXME: there is issue with frozen dict in new odoo. + FIXME: there is issue with frozen dict in new odoo. + +Credits +======= + +Contributors +------------ +* `Ivan Yelizariev `__ + +Sponsors +-------- +* `IT-Projects LLC `__ + +Maintainers +----------- +* `IT-Projects LLC `__ + + The module is not maintained since Odoo 9.0. + +Further information +=================== + +Demo: http://runbot.it-projects.info/demo/mail-addons/8.0 + +HTML Description: https://apps.odoo.com/apps/modules/8.0/mail_partner_lang/ + +Usage instructions: ``_ + +Changelog: ``_ + +Tested on Odoo 8.0 ab7b5d7732a7c222a0aea45bd173742acd47242d diff --git a/mail_partner_lang/doc/changelog.rst b/mail_partner_lang/doc/changelog.rst new file mode 100644 index 0000000..9ee2b48 --- /dev/null +++ b/mail_partner_lang/doc/changelog.rst @@ -0,0 +1,4 @@ +`1.0.0` +------- + +- Init version diff --git a/mail_partner_lang/doc/index.rst b/mail_partner_lang/doc/index.rst new file mode 100644 index 0000000..dd13d0a --- /dev/null +++ b/mail_partner_lang/doc/index.rst @@ -0,0 +1,13 @@ +============================== + Use partner language in mail +============================== + +Installation +============ + +* `Install `__ this module in a usual way + +Configuration +============= + +This module do not need any special configuration. diff --git a/mail_todo_custom/README.rst b/mail_todo_custom/README.rst index 56b440e..ab1e80a 100644 --- a/mail_todo_custom/README.rst +++ b/mail_todo_custom/README.rst @@ -1,2 +1,33 @@ -Mark unstarred email as read, remove filter in 'To-do' folder -============================================================= +=============================================================== + Mark unstarred email as read, remove filter in 'To-do' folder +=============================================================== + +Credits +======= + +Contributors +------------ +* `Ivan Yelizariev `__ + +Sponsors +-------- +* `IT-Projects LLC `__ + +Maintainers +----------- +* `IT-Projects LLC `__ + + The module is not maintained since Odoo 9.0. + +Further information +=================== + +Demo: http://runbot.it-projects.info/demo/mail-addons/8.0 + +HTML Description: https://apps.odoo.com/apps/modules/8.0/mail_todo_custom/ + +Usage instructions: ``_ + +Changelog: ``_ + +Tested on Odoo 8.0 ab7b5d7732a7c222a0aea45bd173742acd47242d diff --git a/mail_todo_custom/doc/changelog.rst b/mail_todo_custom/doc/changelog.rst new file mode 100644 index 0000000..9ee2b48 --- /dev/null +++ b/mail_todo_custom/doc/changelog.rst @@ -0,0 +1,4 @@ +`1.0.0` +------- + +- Init version diff --git a/mail_todo_custom/doc/index.rst b/mail_todo_custom/doc/index.rst new file mode 100644 index 0000000..4a0ec62 --- /dev/null +++ b/mail_todo_custom/doc/index.rst @@ -0,0 +1,26 @@ +==================== + Internal Messaging +==================== + +Installation +============ + +Nothing special is needed to install this module. + +Usage +===== + +To send a message to specified recipients: + +* Click on the ``[Send internal message]``. + +* Choose the recipients that should receive a message by ticking the checkboxes. + +* To add more recipients click on the ``[Open the full mail composer]`` on the right upper corner of the message block and choose recipients in the **Recipient** field. + +* Click on the ``[Send]`` button. + +Uninstallation +============== + +Nothing special is needed to uninstall this module. diff --git a/mass_mailing_extra/README.rst b/mass_mailing_extra/README.rst new file mode 100644 index 0000000..eaf39a1 --- /dev/null +++ b/mass_mailing_extra/README.rst @@ -0,0 +1,37 @@ +=============================== + Improvements for mass mailing +=============================== + + Module adds: + * partners info in mail.mail.statistics tree + * partners info in mail.mail.statistics form + +Credits +======= + +Contributors +------------ +* `Ivan Yelizariev `__ + +Sponsors +-------- +* `IT-Projects LLC `__ + +Maintainers +----------- +* `IT-Projects LLC `__ + + The module is not maintained since Odoo 9.0. + +Further information +=================== + +Demo: http://runbot.it-projects.info/demo/mail-addons/8.0 + +HTML Description: https://apps.odoo.com/apps/modules/8.0/mass_mailing_extra/ + +Usage instructions: ``_ + +Changelog: ``_ + +Tested on Odoo 8.0 f8d5a6727d3e8d428d9bef93da7ba6b11f344284 diff --git a/mass_mailing_extra/__openerp__.py b/mass_mailing_extra/__openerp__.py index 3606270..3667e3f 100644 --- a/mass_mailing_extra/__openerp__.py +++ b/mass_mailing_extra/__openerp__.py @@ -7,12 +7,10 @@ "category": "Discuss", 'website': 'https://yelizariev.github.io', 'description': """ -Modules adds: + Modules adds: -* partners info in mail.mail.statistics tree -* partners info in mail.mail.statistics form - -Tested on 8.0 f8d5a6727d3e8d428d9bef93da7ba6b11f344284 + * partners info in mail.mail.statistics tree + * partners info in mail.mail.statistics form """, 'depends': ['mass_mailing'], 'data': [ diff --git a/mass_mailing_extra/doc/changelog.rst b/mass_mailing_extra/doc/changelog.rst new file mode 100644 index 0000000..9ee2b48 --- /dev/null +++ b/mass_mailing_extra/doc/changelog.rst @@ -0,0 +1,4 @@ +`1.0.0` +------- + +- Init version diff --git a/mass_mailing_extra/doc/index.rst b/mass_mailing_extra/doc/index.rst new file mode 100644 index 0000000..293e6da --- /dev/null +++ b/mass_mailing_extra/doc/index.rst @@ -0,0 +1,13 @@ +=============================== + Improvements for mass mailing +=============================== + +Installation +============ + +* `Install `__ this module in a usual way + +Configuration +============= + +This module do not need any special configuration. diff --git a/res_partner_strip_email/README.rst b/res_partner_strip_email/README.rst index c90a29b..f9216ed 100644 --- a/res_partner_strip_email/README.rst +++ b/res_partner_strip_email/README.rst @@ -1 +1,35 @@ +====================== + Trim partner's email +====================== + Trim email field in partner form. + +Credits +======= + +Contributors +------------ +* `Ivan Yelizariev `__ + +Sponsors +-------- +* `IT-Projects LLC `__ + +Maintainers +----------- +* `IT-Projects LLC `__ + + The module is not maintained since Odoo 9.0. + +Further information +=================== + +Demo: http://runbot.it-projects.info/demo/mail-addons/8.0 + +HTML Description: https://apps.odoo.com/apps/modules/8.0/res_partner_strip_email/ + +Usage instructions: ``_ + +Changelog: ``_ + +Tested on Odoo 8.0 ab7b5d7732a7c222a0aea45bd173742acd47242d diff --git a/res_partner_strip_email/doc/changelog.rst b/res_partner_strip_email/doc/changelog.rst new file mode 100644 index 0000000..9ee2b48 --- /dev/null +++ b/res_partner_strip_email/doc/changelog.rst @@ -0,0 +1,4 @@ +`1.0.0` +------- + +- Init version diff --git a/res_partner_strip_email/doc/index.rst b/res_partner_strip_email/doc/index.rst new file mode 100644 index 0000000..3f3e6ee --- /dev/null +++ b/res_partner_strip_email/doc/index.rst @@ -0,0 +1,13 @@ +====================== + Trim partner's email +====================== + +Installation +============ + +* `Install `__ this module in a usual way + +Configuration +============= + +This module do not need any special configuration. From 5a546da7c28d93d305957f31b1b14a3d9ef52d00 Mon Sep 17 00:00:00 2001 From: Ildar Nasyrov Date: Sun, 10 Dec 2017 11:33:16 +0000 Subject: [PATCH 45/45] [REM] obsolete modules files --- mail_fix_header_from/README.rst | 30 ------------------------------ 1 file changed, 30 deletions(-) delete mode 100644 mail_fix_header_from/README.rst diff --git a/mail_fix_header_from/README.rst b/mail_fix_header_from/README.rst deleted file mode 100644 index bf371da..0000000 --- a/mail_fix_header_from/README.rst +++ /dev/null @@ -1,30 +0,0 @@ -======================================= - Fix non-ascii header 'from' (OBSOLETE) -======================================= - -Obsolete in odoo 8.0 since Sep 10, 2014 https://github.com/odoo/odoo/commit/f2cf6ced17d3477b8858e3a8f955a42cc8a629ff . You can install this module, if you use older version. - - -Credits -======= - -Contributors ------------- -* `Ivan Yelizariev `__ - -Sponsors --------- -* `IT-Projects LLC `__ - -Maintainers ------------ -* `IT-Projects LLC `__ - - The module is not maintained since Odoo 9.0. - -Further information -=================== - -Demo: http://runbot.it-projects.info/demo/mail_addons/8.0 - -HTML Description: https://apps.odoo.com/apps/modules/8.0/mail_fix_header_from/