Browse Source

Merge pull request #49 from yelizariev/9.0-merge-91b95cd

9.0 merge 91b95cd
pull/55/head
Ivan Yelizariev 8 years ago
committed by GitHub
parent
commit
c87c7bbeb4
  1. 34
      .travis.yml
  2. 4
      mail_all/README.rst
  3. 2
      mail_all/tests/test_js.py
  4. 2
      mail_archives/tests/test_js.py
  5. 2
      mail_check_immediately/__init__.py
  6. 1
      mail_check_immediately/__openerp__.py
  7. 1
      mail_check_immediately/models.py
  8. 10
      mail_check_immediately/static/src/js/main.js
  9. 1
      mail_delete_odoo_footer/__openerp__.py
  10. 3
      mail_fix_553/__init__.py
  11. 1
      mail_fix_553/__openerp__.py
  12. 11
      mail_fix_553/mail_fix_553.py
  13. 3
      mail_fix_empty_body/__init__.py
  14. 1
      mail_fix_empty_body/__openerp__.py
  15. 5
      mail_fix_empty_body/models.py
  16. 3
      mail_fix_header_from/__init__.py
  17. 1
      mail_fix_header_from/__openerp__.py
  18. 1
      mail_fix_header_from/models.py
  19. 5
      mail_move_message/__init__.py
  20. 1
      mail_move_message/__openerp__.py
  21. 3
      mail_move_message/controllers/__init__.py
  22. 4
      mail_move_message/controllers/main.py
  23. 3
      mail_move_message/mail_move_message_models.py
  24. 8
      mail_move_message/static/src/js/mail_move_message.js
  25. 3
      mail_outgoing/__init__.py
  26. 1
      mail_outgoing/__openerp__.py
  27. 3
      mail_outgoing/mail_outgoing_models.py
  28. 3
      mail_partner_lang/__init__.py
  29. 1
      mail_partner_lang/__openerp__.py
  30. 5
      mail_partner_lang/models.py
  31. 6
      mail_recovery/README.rst
  32. 6
      mail_recovery/static/src/js/mail_recovery.js
  33. 3
      mail_sent/__init__.py
  34. 2
      mail_sent/tests/test_js.py
  35. 2
      mail_todo_custom/static/src/js/mail_todo_custom.js
  36. 1
      mailgun/models.py
  37. 3
      mass_mailing_extra/__init__.py
  38. 1
      mass_mailing_extra/__openerp__.py
  39. 3
      mass_mailing_extra/models.py
  40. 4
      oca_dependencies.txt
  41. 2
      res_partner_mails_count/__init__.py
  42. 3
      res_partner_mails_count/tests/test_mail.py
  43. 3
      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/
Usage instructions: `<doc/index.rst>`_
Usage instructions: `<doc/index.rst>`__
Changelog: `<doc/changelog.rst>`_
Changelog: `<doc/changelog.rst>`__
Tested on Odoo 9.0 d3dd4161ad0598ebaa659fbd083457c77aa9448d

2
mail_all/tests/test_js.py

@ -1,8 +1,10 @@
import openerp.tests
@openerp.tests.common.at_install(False)
@openerp.tests.common.post_install(True)
class TestUi(openerp.tests.HttpCase):
def test_01_mail_all(self):
# wait till page loaded and then click and wait again
code = """

2
mail_archives/tests/test_js.py

@ -1,8 +1,10 @@
import openerp.tests
@openerp.tests.common.at_install(False)
@openerp.tests.common.post_install(True)
class TestUi(openerp.tests.HttpCase):
def test_01_mail_archives(self):
# wait till page loaded and then click and wait again
code = """

2
mail_check_immediately/__init__.py

@ -1,2 +1,2 @@
# -*- 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',
'version': '1.0.1',

1
mail_check_immediately/models.py

@ -60,7 +60,6 @@ class FetchMailImmediately(models.AbstractModel):
def run_fetchmail_manually(self):
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_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.events['click a.oe_fetch_new_mails'] = function(){
_this.run_fetchmail_manually();
}
};
},
start: function() {
@ -22,7 +22,7 @@ openerp.mail_check_immediately = function(instance, local) {
this.get_last_fetched_time();
this.get_time_loop = setInterval(function(){
_this.get_last_fetched_time()
_this.get_last_fetched_time();
}, 30000);
},
@ -31,8 +31,8 @@ openerp.mail_check_immediately = function(instance, local) {
var _this = this;
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(){
@ -43,7 +43,7 @@ openerp.mail_check_immediately = function(instance, local) {
value = $.timeago(res);
value = value || 'undefined';
_this.$el.find('span.oe_view_manager_fetch_mail_imm_field').html(value);
})
});
},
destroy: function(){

1
mail_delete_odoo_footer/__openerp__.py

@ -1,3 +1,4 @@
# -*- coding: utf-8 -*-
{
'name': 'Delete Odoo footer in email (TODO)',
'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",
"version": "0.3",

11
mail_fix_553/mail_fix_553.py

@ -2,19 +2,19 @@
import base64
import logging
import re
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.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.translate import _
_logger = logging.getLogger(__name__)
import re
class mail_mail(osv.Model):
_inherit = "mail.mail"
@ -44,7 +44,6 @@ class mail_mail(osv.Model):
correct_email_from = '@%s>?\s*$' % catchall_domain
default_email_from = '%s@%s' % (catchall_alias, catchall_domain)
context = dict(context or {})
ir_mail_server = self.pool.get('ir.mail_server')
ir_attachment = self.pool['ir.attachment']
@ -146,7 +145,7 @@ class mail_mail(osv.Model):
except MemoryError:
# prevent catching transient MemoryErrors, bubble up to notify user or abort cron job
# instead of marking the mail as failed
_logger.exception('MemoryError while processing mail with ID %r and Msg-Id %r. '\
_logger.exception('MemoryError while processing mail with ID %r and Msg-Id %r. '
'Consider raising the --limit-memory-hard startup option',
mail.id, mail.message_id)
raise

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',
'version': '1.0.0',

5
mail_fix_empty_body/models.py

@ -1,4 +1,7 @@
from openerp import api, models, fields, SUPERUSER_ID
# -*- coding: utf-8 -*-
from openerp import models
class mail_compose_message(models.TransientModel):
_inherit = 'mail.compose.message'

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)",
"version": "0.3",

1
mail_fix_header_from/models.py

@ -1,3 +1,4 @@
# -*- coding: utf-8 -*-
import re
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',
'version': '1.0.4',

3
mail_move_message/controllers/__init__.py

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

4
mail_move_message/controllers/main.py

@ -1,3 +1,4 @@
# -*- coding: utf-8 -*-
from openerp.addons.web.controllers.main import DataSet
from openerp.tools.translate import _
from openerp import http
@ -9,6 +10,7 @@ class MailChatController(openerp.addons.bus.controllers.main.BusController):
# -----------------------------
# Extends BUS Controller Poll
# -----------------------------
def _poll(self, dbname, channels, last, options):
if request.session.uid:
registry, cr, uid, context = request.registry, request.cr, request.session.uid, request.context
@ -17,6 +19,7 @@ class MailChatController(openerp.addons.bus.controllers.main.BusController):
return super(MailChatController, self)._poll(dbname, channels, last, options)
class DataSetCustom(DataSet):
def _extend_name(self, model, records):
@ -40,7 +43,6 @@ class DataSetCustom(DataSet):
res.append((r[0], _('%s ID %s') % (r[1], r[0])))
return res
@http.route('/web/dataset/call_kw/<model>/name_search', type='json', auth="user")
def name_search(self, model, method, args, kwargs):
context = kwargs.get('context')

3
mail_move_message/mail_move_message_models.py

@ -1,8 +1,9 @@
from lxml import etree
# -*- coding: utf-8 -*-
from openerp import api, models, fields, SUPERUSER_ID
from openerp.tools import email_split
from openerp.tools.translate import _
class wizard(models.TransientModel):
_name = 'mail_move_message.wizard'

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(){
if(this.node.attrs.special == 'quick_create'){
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();
if(this.node.attrs.use_for_mail_move_message) {
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) {
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, {
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) {
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',
'version': '1.0.0',

3
mail_outgoing/mail_outgoing_models.py

@ -1,5 +1,7 @@
# -*- coding: utf-8 -*-
from openerp.osv import osv
class mail_message(osv.Model):
_inherit = 'mail.message'
@ -13,6 +15,7 @@ class mail_message(osv.Model):
return super(mail_message, self).check_access_rule(cr, uid, ids, operation, context)
class mail_mail(osv.Model):
_name = 'mail.mail'
_inherit = ['mail.mail', 'ir.needaction_mixin']

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',
'version': '1.0.0',

5
mail_partner_lang/models.py

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

6
mail_recovery/README.rst

@ -18,7 +18,7 @@ Contributors
Sponsors
--------
* `IT-Projects LLC <https://it-projects.info>`_
* `IT-Projects LLC <https://it-projects.info>`__
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/
Usage instructions: `<doc/index.rst>`_
Usage instructions: `<doc/index.rst>`__
Changelog: `<doc/changelog.rst>`_
Changelog: `<doc/changelog.rst>`__
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) {
var $input = $(event.target);
if (!$input.val()) {
$input.val(window.localStorage['message_storage']);
$input.val(window.localStorage.message_storage);
}
},
on_keyup_textarea: function(event) {
window.localStorage['message_storage'] = $(event.target).val();
window.localStorage.message_storage = $(event.target).val();
},
send_message: function (event) {
window.localStorage['message_storage'] = '';
window.localStorage.message_storage = '';
return this._super(event);
},
});

3
mail_sent/__init__.py

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

2
mail_sent/tests/test_js.py

@ -1,8 +1,10 @@
import openerp.tests
@openerp.tests.common.at_install(False)
@openerp.tests.common.post_install(True)
class TestUi(openerp.tests.HttpCase):
def test_01_mail_sent(self):
# wait till page loaded and then click and wait again
code = """

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

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

1
mailgun/models.py

@ -12,6 +12,7 @@ from openerp.addons.mail.models.mail_thread import mail_header_msgid_re
import logging
_logger = logging.getLogger(__name__)
class MailThread(models.AbstractModel):
_inherit = 'mail.thread'

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',
'version': '1.0.0',

3
mass_mailing_extra/models.py

@ -1,5 +1,7 @@
# -*- coding: utf-8 -*-
from openerp import api, models, fields
class MailMailStats(models.Model):
_inherit = 'mail.mail.statistics'
@ -24,5 +26,4 @@ class MailMailStats(models.Model):
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)

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 -*-
import models
from . import models

3
res_partner_mails_count/tests/test_mail.py

@ -3,8 +3,9 @@
from openerp.tests.common import TransactionCase
class test_message_count(TransactionCase):
class TestMessageCount(TransactionCase):
post_install = True
def test_count(self):
new_partner1 = self.env['res.partner'].sudo().create({'name': 'rpmc Test Partner one', 'email': 'tt@tt', 'notify_email': 'always'})
new_partner2 = self.env['res.partner'].sudo().create({'name': 'rpmc Test Partner two', 'email': 'rr@rr', 'notify_email': 'always'})

3
res_partner_mails_count/tests/test_phantom.py

@ -1,8 +1,11 @@
# -*- coding: utf-8 -*-
import openerp.tests
@openerp.tests.common.at_install(False)
@openerp.tests.common.post_install(True)
class TestUi(openerp.tests.HttpCase):
def test_01_res_partner_mails_to_count(self):
# self.phantom_js('/', "openerp.Tour.run('mails_count_tour', 'test')", "openerp.Tour.tours.mails_count_tour", login="admin")
self.phantom_js("/", "odoo.__DEBUG__.services['web.Tour'].run('mails_count_tour', 'test')", "odoo.__DEBUG__.services['web.Tour'].tours.mails_count_tour", login="admin")

2
res_partner_strip_email/__init__.py

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

3
res_partner_strip_email/models.py

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

Loading…
Cancel
Save