Browse Source

Merge remote-tracking branch 'upstream/8.0' into 9.0-merge-91b95cd

pull/49/head
Ivan Yelizariev 8 years ago
parent
commit
39979ef5c7
  1. 34
      .travis.yml
  2. 4
      mail_all/README.rst
  3. 2
      mail_all/views/templates.xml
  4. 2
      mail_check_immediately/__init__.py
  5. 1
      mail_check_immediately/__openerp__.py
  6. 1
      mail_check_immediately/models.py
  7. 10
      mail_check_immediately/static/src/js/main.js
  8. 1
      mail_delete_odoo_footer/__openerp__.py
  9. 3
      mail_fix_553/__init__.py
  10. 1
      mail_fix_553/__openerp__.py
  11. 7
      mail_fix_553/mail_fix_553.py
  12. 3
      mail_fix_empty_body/__init__.py
  13. 1
      mail_fix_empty_body/__openerp__.py
  14. 4
      mail_fix_empty_body/models.py
  15. 3
      mail_fix_header_from/__init__.py
  16. 1
      mail_fix_header_from/__openerp__.py
  17. 1
      mail_fix_header_from/models.py
  18. 5
      mail_move_message/__init__.py
  19. 1
      mail_move_message/__openerp__.py
  20. 3
      mail_move_message/controllers/__init__.py
  21. 2
      mail_move_message/controllers/main.py
  22. 2
      mail_move_message/mail_move_message_models.py
  23. 8
      mail_move_message/static/src/js/mail_move_message.js
  24. 3
      mail_outgoing/__init__.py
  25. 1
      mail_outgoing/__openerp__.py
  26. 1
      mail_outgoing/mail_outgoing_models.py
  27. 8
      mail_outgoing/mail_outgoing_views.xml
  28. 14
      mail_outgoing/security/mail_outgoing.xml
  29. 3
      mail_partner_lang/__init__.py
  30. 1
      mail_partner_lang/__openerp__.py
  31. 4
      mail_partner_lang/models.py
  32. 6
      mail_recovery/README.rst
  33. 6
      mail_recovery/static/src/js/mail_recovery.js
  34. 3
      mail_sent/__init__.py
  35. 2
      mail_todo_custom/static/src/js/mail_todo_custom.js
  36. 3
      mass_mailing_extra/__init__.py
  37. 1
      mass_mailing_extra/__openerp__.py
  38. 1
      mass_mailing_extra/models.py
  39. 42
      mass_mailing_extra/views.xml
  40. 4
      oca_dependencies.txt
  41. 2
      res_partner_mails_count/__init__.py
  42. 2
      res_partner_mails_count/tests/test_mail.py
  43. 1
      res_partner_mails_count/tests/test_phantom.py
  44. 2
      res_partner_strip_email/__init__.py
  45. 3
      res_partner_strip_email/models.py

34
.travis.yml

@ -0,0 +1,34 @@
language: python
python:
- "2.7"
sudo: false
cache: pip
addons:
apt:
packages:
- expect-dev # provides unbuffer utility
- 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"
virtualenv:
system_site_packages: true
install:
- pip install anybox.testing.openerp
- git clone https://github.com/it-projects-llc/maintainer-quality-tools.git ${HOME}/maintainer-quality-tools
- export PATH=${HOME}/maintainer-quality-tools/travis:${PATH}
- travis_install_nightly
script:
- travis_run_tests
after_success:
coveralls

4
mail_all/README.rst

@ -9,8 +9,8 @@ Further information
HTML Description: https://apps.odoo.com/apps/modules/9.0/mail_all/ HTML Description: https://apps.odoo.com/apps/modules/9.0/mail_all/
Usage instructions: `<doc/index.rst>`_
Usage instructions: `<doc/index.rst>`__
Changelog: `<doc/changelog.rst>`_
Changelog: `<doc/changelog.rst>`__
Tested on Odoo 9.0 d3dd4161ad0598ebaa659fbd083457c77aa9448d Tested on Odoo 9.0 d3dd4161ad0598ebaa659fbd083457c77aa9448d

2
mail_all/views/templates.xml

@ -9,4 +9,4 @@
</xpath> </xpath>
</template> </template>
</data> </data>
</openerp>
</openerp>

2
mail_check_immediately/__init__.py

@ -1,2 +1,2 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import models
from . import models

1
mail_check_immediately/__openerp__.py

@ -1,3 +1,4 @@
# -*- coding: utf-8 -*-
{ {
'name': 'Check mail immediately', 'name': 'Check mail immediately',
'version': '1.0.1', 'version': '1.0.1',

1
mail_check_immediately/models.py

@ -60,7 +60,6 @@ class FetchMailImmediately(models.AbstractModel):
def run_fetchmail_manually(self): def run_fetchmail_manually(self):
fetchmail_task = self.env.ref('fetchmail.ir_cron_mail_gateway_action') fetchmail_task = self.env.ref('fetchmail.ir_cron_mail_gateway_action')
fetchmail_task_id = fetchmail_task.id
fetchmail_model = self.env['fetchmail.server'].sudo() fetchmail_model = self.env['fetchmail.server'].sudo()
fetchmail_task._try_lock() fetchmail_task._try_lock()

10
mail_check_immediately/static/src/js/main.js

@ -10,7 +10,7 @@ openerp.mail_check_immediately = function(instance, local) {
this.imm_model = new instance.web.Model('fetch_mail.imm'); this.imm_model = new instance.web.Model('fetch_mail.imm');
this.events['click a.oe_fetch_new_mails'] = function(){ this.events['click a.oe_fetch_new_mails'] = function(){
_this.run_fetchmail_manually(); _this.run_fetchmail_manually();
}
};
}, },
start: function() { start: function() {
@ -22,7 +22,7 @@ openerp.mail_check_immediately = function(instance, local) {
this.get_last_fetched_time(); this.get_last_fetched_time();
this.get_time_loop = setInterval(function(){ this.get_time_loop = setInterval(function(){
_this.get_last_fetched_time()
_this.get_last_fetched_time();
}, 30000); }, 30000);
}, },
@ -31,8 +31,8 @@ openerp.mail_check_immediately = function(instance, local) {
var _this = this; var _this = this;
this.imm_model.call('run_fetchmail_manually', {context: new instance.web.CompoundContext()}).then(function(){ this.imm_model.call('run_fetchmail_manually', {context: new instance.web.CompoundContext()}).then(function(){
_this.get_last_fetched_time()
})
_this.get_last_fetched_time();
});
}, },
get_last_fetched_time: function(){ get_last_fetched_time: function(){
@ -43,7 +43,7 @@ openerp.mail_check_immediately = function(instance, local) {
value = $.timeago(res); value = $.timeago(res);
value = value || 'undefined'; value = value || 'undefined';
_this.$el.find('span.oe_view_manager_fetch_mail_imm_field').html(value); _this.$el.find('span.oe_view_manager_fetch_mail_imm_field').html(value);
})
});
}, },
destroy: function(){ destroy: function(){

1
mail_delete_odoo_footer/__openerp__.py

@ -1,3 +1,4 @@
# -*- coding: utf-8 -*-
{ {
'name': 'Delete Odoo footer in email (TODO)', 'name': 'Delete Odoo footer in email (TODO)',
'version': '1.0.0', 'version': '1.0.0',

3
mail_fix_553/__init__.py

@ -1 +1,2 @@
import mail_fix_553
# -*- coding: utf-8 -*-
from . import mail_fix_553

1
mail_fix_553/__openerp__.py

@ -1,3 +1,4 @@
# -*- coding: utf-8 -*-
{ {
"name": "Fix mail error 553", "name": "Fix mail error 553",
"version": "0.3", "version": "0.3",

7
mail_fix_553/mail_fix_553.py

@ -2,19 +2,18 @@
import base64 import base64
import logging import logging
import re
from email.utils import formataddr from email.utils import formataddr
from urlparse import urljoin
from openerp import api, tools
from openerp import tools
from openerp import SUPERUSER_ID from openerp import SUPERUSER_ID
from openerp.addons.base.ir.ir_mail_server import MailDeliveryException from openerp.addons.base.ir.ir_mail_server import MailDeliveryException
from openerp.osv import fields, osv
from openerp.osv import osv
from openerp.tools.safe_eval import safe_eval as eval from openerp.tools.safe_eval import safe_eval as eval
from openerp.tools.translate import _ from openerp.tools.translate import _
_logger = logging.getLogger(__name__) _logger = logging.getLogger(__name__)
import re
class mail_mail(osv.Model): class mail_mail(osv.Model):

3
mail_fix_empty_body/__init__.py

@ -1 +1,2 @@
import models
# -*- coding: utf-8 -*-
from . import models

1
mail_fix_empty_body/__openerp__.py

@ -1,3 +1,4 @@
# -*- coding: utf-8 -*-
{ {
'name': 'Fix "False" in empty email body', 'name': 'Fix "False" in empty email body',
'version': '1.0.0', 'version': '1.0.0',

4
mail_fix_empty_body/models.py

@ -1,4 +1,6 @@
from openerp import api, models, fields, SUPERUSER_ID
# -*- coding: utf-8 -*-
from openerp import models
class mail_compose_message(models.TransientModel): class mail_compose_message(models.TransientModel):

3
mail_fix_header_from/__init__.py

@ -1 +1,2 @@
import models
# -*- coding: utf-8 -*-
from . import models

1
mail_fix_header_from/__openerp__.py

@ -1,3 +1,4 @@
# -*- coding: utf-8 -*-
{ {
"name": "Fix non-ascii header 'from' (OBSOLETE)", "name": "Fix non-ascii header 'from' (OBSOLETE)",
"version": "0.3", "version": "0.3",

1
mail_fix_header_from/models.py

@ -1,3 +1,4 @@
# -*- coding: utf-8 -*-
import re import re
from openerp.addons.base.ir import ir_mail_server from openerp.addons.base.ir import ir_mail_server

5
mail_move_message/__init__.py

@ -1,2 +1,3 @@
import controllers
import mail_move_message_models
# -*- coding: utf-8 -*-
from . import controllers
from . import mail_move_message_models

1
mail_move_message/__openerp__.py

@ -1,3 +1,4 @@
# -*- coding: utf-8 -*-
{ {
'name': 'Mail relocation', 'name': 'Mail relocation',
'version': '1.0.4', 'version': '1.0.4',

3
mail_move_message/controllers/__init__.py

@ -1 +1,2 @@
import main
# -*- coding: utf-8 -*-
from . import main

2
mail_move_message/controllers/main.py

@ -1,3 +1,4 @@
# -*- coding: utf-8 -*-
from openerp.addons.web.controllers.main import DataSet from openerp.addons.web.controllers.main import DataSet
from openerp.tools.translate import _ from openerp.tools.translate import _
from openerp import http from openerp import http
@ -18,6 +19,7 @@ class MailChatController(openerp.addons.bus.controllers.main.BusController):
return super(MailChatController, self)._poll(dbname, channels, last, options) return super(MailChatController, self)._poll(dbname, channels, last, options)
class DataSetCustom(DataSet): class DataSetCustom(DataSet):
def _extend_name(self, model, records): def _extend_name(self, model, records):

2
mail_move_message/mail_move_message_models.py

@ -1,4 +1,4 @@
from lxml import etree
# -*- coding: utf-8 -*-
from openerp import api, models, fields, SUPERUSER_ID from openerp import api, models, fields, SUPERUSER_ID
from openerp.tools import email_split from openerp.tools import email_split
from openerp.tools.translate import _ from openerp.tools.translate import _

8
mail_move_message/static/src/js/mail_move_message.js

@ -96,7 +96,7 @@ odoo.define('mail_move_message.relocate', function (require) {
on_click: function(){ on_click: function(){
if(this.node.attrs.special == 'quick_create'){ if(this.node.attrs.special == 'quick_create'){
var self = this; var self = this;
var related_field = this.field_manager.fields[this.node.attrs['field']];
var related_field = this.field_manager.fields[this.node.attrs.field];
var context_built = $.Deferred(); var context_built = $.Deferred();
if(this.node.attrs.use_for_mail_move_message) { if(this.node.attrs.use_for_mail_move_message) {
var model = new Model(this.view.dataset.model); var model = new Model(this.view.dataset.model);
@ -116,7 +116,7 @@ odoo.define('mail_move_message.relocate', function (require) {
} }
$.when(context_built).pipe(function (context) { $.when(context_built).pipe(function (context) {
if(self.node.attrs.use_for_mail_move_message) { if(self.node.attrs.use_for_mail_move_message) {
self.field_manager.fields['partner_id'].set_value(context['partner_id']);
self.field_manager.fields.partner_id.set_value(context.partner_id);
} }
var dialog = new form_common.FormViewDialog(self, { var dialog = new form_common.FormViewDialog(self, {
res_model: related_field.field.relation, res_model: related_field.field.relation,
@ -130,8 +130,8 @@ odoo.define('mail_move_message.relocate', function (require) {
}); });
dialog.on('create_completed', self, function(id) { dialog.on('create_completed', self, function(id) {
related_field.set_value(id); related_field.set_value(id);
if(self.field_manager.fields['filter_by_partner']) {
self.field_manager.fields['filter_by_partner'].set_value(true);
if(self.field_manager.fields.filter_by_partner) {
self.field_manager.fields.filter_by_partner.set_value(true);
} }
}); });
}); });

3
mail_outgoing/__init__.py

@ -1 +1,2 @@
import mail_outgoing_models
# -*- coding: utf-8 -*-
from . import mail_outgoing_models

1
mail_outgoing/__openerp__.py

@ -1,3 +1,4 @@
# -*- coding: utf-8 -*-
{ {
'name': 'Outgoing mails menu', 'name': 'Outgoing mails menu',
'version': '1.0.0', 'version': '1.0.0',

1
mail_outgoing/mail_outgoing_models.py

@ -1,3 +1,4 @@
# -*- coding: utf-8 -*-
from openerp.osv import osv from openerp.osv import osv

8
mail_outgoing/mail_outgoing_views.xml

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<openerp> <openerp>
<data> <data>
<record id="action_mail_outgoing" model="ir.actions.act_window"> <record id="action_mail_outgoing" model="ir.actions.act_window">
<field name="name">Outgoing</field> <field name="name">Outgoing</field>
<field name="res_model">mail.mail</field> <field name="res_model">mail.mail</field>
@ -10,8 +10,8 @@
<field name="context">{}</field> <field name="context">{}</field>
<field name="search_view_id" ref="mail.view_mail_search"/> <field name="search_view_id" ref="mail.view_mail_search"/>
<field name="help" type="html"> <field name="help" type="html">
<p>
Failed or delayed emails will be shown here. You will be able to retry failed emails and send delayed emails manually.
<p>
Failed or delayed emails will be shown here. You will be able to retry failed emails and send delayed emails manually.
</p> </p>
</field> </field>
</record> </record>
@ -30,5 +30,5 @@
</record> </record>
</data>
</data>
</openerp> </openerp>

14
mail_outgoing/security/mail_outgoing.xml

@ -3,10 +3,10 @@
<data> <data>
<record model="res.groups" id="group_all_emails"> <record model="res.groups" id="group_all_emails">
<field name="name">all_emails</field> <field name="name">all_emails</field>
<field name="comment">Gets access to all emails. For example to check outgoing emails.</field>
</record>
<field name="comment">Gets access to all emails. For example to check outgoing emails.</field>
</record>
<record model="ir.rule" id="rule_mail_mail_user">
<record model="ir.rule" id="rule_mail_mail_user">
<field name="name">mail.mail: user</field> <field name="name">mail.mail: user</field>
<field name="model_id" ref="mail.model_mail_mail"/> <field name="model_id" ref="mail.model_mail_mail"/>
<field name="domain_force">[('author_id', '=', user.partner_id.id)]</field> <field name="domain_force">[('author_id', '=', user.partner_id.id)]</field>
@ -16,9 +16,9 @@
<field name="perm_create" eval="True"/> <field name="perm_create" eval="True"/>
<field name="perm_unlink" eval="False"/> <field name="perm_unlink" eval="False"/>
<field name="global" eval="False"/> <field name="global" eval="False"/>
</record>
</record>
<record model="ir.rule" id="rule_mail_mail_system">
<record model="ir.rule" id="rule_mail_mail_system">
<field name="name">mail.mail: system</field> <field name="name">mail.mail: system</field>
<field name="model_id" ref="mail.model_mail_mail"/> <field name="model_id" ref="mail.model_mail_mail"/>
<field name="domain_force">[(1, '=', 1)]</field> <field name="domain_force">[(1, '=', 1)]</field>
@ -28,6 +28,6 @@
<field name="perm_create" eval="True"/> <field name="perm_create" eval="True"/>
<field name="perm_unlink" eval="True"/> <field name="perm_unlink" eval="True"/>
<field name="global" eval="False"/> <field name="global" eval="False"/>
</record>
</data>
</record>
</data>
</openerp> </openerp>

3
mail_partner_lang/__init__.py

@ -1 +1,2 @@
import models
# -*- coding: utf-8 -*-
from . import models

1
mail_partner_lang/__openerp__.py

@ -1,3 +1,4 @@
# -*- coding: utf-8 -*-
{ {
'name': 'Use partner language in mail', 'name': 'Use partner language in mail',
'version': '1.0.0', 'version': '1.0.0',

4
mail_partner_lang/models.py

@ -1,6 +1,6 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from openerp.osv import osv, fields
from openerp import SUPERUSER_ID
from openerp.osv import osv
class mail_thread(osv.Model): class mail_thread(osv.Model):

6
mail_recovery/README.rst

@ -18,7 +18,7 @@ Contributors
Sponsors Sponsors
-------- --------
* `IT-Projects LLC <https://it-projects.info>`_
* `IT-Projects LLC <https://it-projects.info>`__
Further information Further information
=================== ===================
@ -27,8 +27,8 @@ Demo: http://runbot.it-projects.info/demo/mail-addons/9.0
HTML Description: https://apps.odoo.com/apps/modules/9.0/mail_recovery/ HTML Description: https://apps.odoo.com/apps/modules/9.0/mail_recovery/
Usage instructions: `<doc/index.rst>`_
Usage instructions: `<doc/index.rst>`__
Changelog: `<doc/changelog.rst>`_
Changelog: `<doc/changelog.rst>`__
Tested on Odoo 9.0 fd9eb2e4819031c6758c021f4c335b591367632d Tested on Odoo 9.0 fd9eb2e4819031c6758c021f4c335b591367632d

6
mail_recovery/static/src/js/mail_recovery.js

@ -10,14 +10,14 @@ odoo.define('mail_recovery', function (require) {
on_focus_textarea: function(event) { on_focus_textarea: function(event) {
var $input = $(event.target); var $input = $(event.target);
if (!$input.val()) { if (!$input.val()) {
$input.val(window.localStorage['message_storage']);
$input.val(window.localStorage.message_storage);
} }
}, },
on_keyup_textarea: function(event) { on_keyup_textarea: function(event) {
window.localStorage['message_storage'] = $(event.target).val();
window.localStorage.message_storage = $(event.target).val();
}, },
send_message: function (event) { send_message: function (event) {
window.localStorage['message_storage'] = '';
window.localStorage.message_storage = '';
return this._super(event); return this._super(event);
}, },
}); });

3
mail_sent/__init__.py

@ -1,3 +1,2 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import models
from . import models

2
mail_todo_custom/static/src/js/mail_todo_custom.js

@ -41,4 +41,4 @@ openerp.mail_todo_custom = function(session) {
}, },
}); });
}
};

3
mass_mailing_extra/__init__.py

@ -1 +1,2 @@
import models
# -*- coding: utf-8 -*-
from . import models

1
mass_mailing_extra/__openerp__.py

@ -1,3 +1,4 @@
# -*- coding: utf-8 -*-
{ {
'name': 'Improvements for mass mailing', 'name': 'Improvements for mass mailing',
'version': '1.0.0', 'version': '1.0.0',

1
mass_mailing_extra/models.py

@ -1,3 +1,4 @@
# -*- coding: utf-8 -*-
from openerp import api, models, fields from openerp import api, models, fields

42
mass_mailing_extra/views.xml

@ -5,34 +5,34 @@
<record model="ir.ui.view" id="view_mail_mail_statistics_form"> <record model="ir.ui.view" id="view_mail_mail_statistics_form">
<field name="name">mail.mail.statistics.form</field> <field name="name">mail.mail.statistics.form</field>
<field name="model">mail.mail.statistics</field> <field name="model">mail.mail.statistics</field>
<field name="inherit_id" ref="mass_mailing.view_mail_mail_statistics_form"/>
<field name="inherit_id" ref="mass_mailing.view_mail_mail_statistics_form"/>
<field name="arch" type="xml"> <field name="arch" type="xml">
<xpath expr="//form" position="inside">
<notebook>
<page string="Partners">
<group>
<label for="partners" string="Partners (summary)"/>
<field name="partners" readonly="1" nolabel="1"/>
<field name="partner_id" readonly="1"/>
</group>
<label for="partner_ids"/>
<field name="partner_ids" readonly="1"/>
</page>
</notebook>
</xpath>
</field>
</record>
<xpath expr="//form" position="inside">
<notebook>
<page string="Partners">
<group>
<label for="partners" string="Partners (summary)"/>
<field name="partners" readonly="1" nolabel="1"/>
<field name="partner_id" readonly="1"/>
</group>
<label for="partner_ids"/>
<field name="partner_ids" readonly="1"/>
</page>
</notebook>
</xpath>
</field>
</record>
<record model="ir.ui.view" id="view_mail_mail_statistics_tree"> <record model="ir.ui.view" id="view_mail_mail_statistics_tree">
<field name="name">mail.mail.statistics.tree</field> <field name="name">mail.mail.statistics.tree</field>
<field name="model">mail.mail.statistics</field> <field name="model">mail.mail.statistics</field>
<field name="inherit_id" ref="mass_mailing.view_mail_mail_statistics_tree"/>
<field name="inherit_id" ref="mass_mailing.view_mail_mail_statistics_tree"/>
<field name="arch" type="xml"> <field name="arch" type="xml">
<xpath expr="//field[@name='mail_mail_id_int']" position="before">
<field name="partners"/>
</xpath>
<xpath expr="//field[@name='mail_mail_id_int']" position="before">
<field name="partners"/>
</xpath>
</field> </field>
</record> </record>
</data>
</data>
</openerp> </openerp>

4
oca_dependencies.txt

@ -0,0 +1,4 @@
OCA_web https://github.com/OCA/web
access-addons https://github.com/it-projects-llc/access-addons.git
misc-addons https://github.com/it-projects-llc/misc-addons
website-addons https://github.com/it-projects-llc/website-addons

2
res_partner_mails_count/__init__.py

@ -1,2 +1,2 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import models
from . import models

2
res_partner_mails_count/tests/test_mail.py

@ -3,7 +3,7 @@
from openerp.tests.common import TransactionCase from openerp.tests.common import TransactionCase
class test_message_count(TransactionCase):
class TestMessageCount(TransactionCase):
post_install = True post_install = True
def test_count(self): def test_count(self):

1
res_partner_mails_count/tests/test_phantom.py

@ -1,3 +1,4 @@
# -*- coding: utf-8 -*-
import openerp.tests import openerp.tests

2
res_partner_strip_email/__init__.py

@ -1,2 +1,2 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import models
from . import models

3
res_partner_strip_email/models.py

@ -1,6 +1,7 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from openerp import models, fields, api
from openerp import api
from openerp import models
class res_partner_strip_email(models.Model): class res_partner_strip_email(models.Model):

Loading…
Cancel
Save