Migration of mail_optional_follower_notification to 10.0
This commit is contained in:
parent
d0b462f900
commit
159a77df66
@ -25,7 +25,7 @@ This field it's initialized to true to keep the standard behavior.
|
|||||||
|
|
||||||
.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
|
.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
|
||||||
:alt: Try me on Runbot
|
:alt: Try me on Runbot
|
||||||
:target: https://runbot.odoo-community.org/runbot/205/9.0
|
:target: https://runbot.odoo-community.org/runbot/205/10.0
|
||||||
|
|
||||||
* https://www.odoo.com/forum/help-1
|
* https://www.odoo.com/forum/help-1
|
||||||
|
|
||||||
@ -35,8 +35,7 @@ Bug Tracker
|
|||||||
|
|
||||||
Bugs are tracked on `GitHub Issues <https://github.com/OCA/social/issues>`_.
|
Bugs are tracked on `GitHub Issues <https://github.com/OCA/social/issues>`_.
|
||||||
In case of trouble, please check there if your issue has already been reported.
|
In case of trouble, please check there if your issue has already been reported.
|
||||||
If you spotted it first, help us smashing it by providing a detailed and welcomed feedback
|
If you spotted it first, help us smashing it by providing a detailed and welcomed feedback.
|
||||||
`here <https://github.com/OCA/social/issues/new?body=module:%20mail_optional_follower_notification%0Aversion:%208.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
|
|
||||||
|
|
||||||
Credits
|
Credits
|
||||||
=======
|
=======
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
# Copyright 2016 ACSONE SA/NV (<http://acsone.eu>)
|
# Copyright 2016 ACSONE SA/NV (<http://acsone.eu>)
|
||||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||||
|
|
||||||
from openerp import models, api
|
from odoo import models, api
|
||||||
|
|
||||||
|
|
||||||
class MailMessage(models.Model):
|
class MailMessage(models.Model):
|
||||||
@ -17,3 +17,15 @@ class MailMessage(models.Model):
|
|||||||
force_partners_to_notify = [d['id'] for d in partner_list]
|
force_partners_to_notify = [d['id'] for d in partner_list]
|
||||||
ctx['force_partners_to_notify'] = force_partners_to_notify
|
ctx['force_partners_to_notify'] = force_partners_to_notify
|
||||||
return super(MailMessage, self.with_context(ctx)).create(values)
|
return super(MailMessage, self.with_context(ctx)).create(values)
|
||||||
|
|
||||||
|
@api.multi
|
||||||
|
def _notify(self, force_send=False, send_after_commit=True,
|
||||||
|
user_signature=True):
|
||||||
|
res = super(MailMessage, self)._notify(
|
||||||
|
force_send=force_send, send_after_commit=send_after_commit,
|
||||||
|
user_signature=user_signature)
|
||||||
|
if not self.env.context.get('notify_followers'):
|
||||||
|
# Needaction only for recipients
|
||||||
|
self.needaction_partner_ids = [(6, 0, self.partner_ids.ids)]
|
||||||
|
return res
|
||||||
|
|
||||||
|
@ -2,17 +2,19 @@
|
|||||||
# Copyright 2016 ACSONE SA/NV (<http://acsone.eu>)
|
# Copyright 2016 ACSONE SA/NV (<http://acsone.eu>)
|
||||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||||
|
|
||||||
from openerp import models, api
|
from odoo import models, api
|
||||||
|
|
||||||
|
|
||||||
class ResPartner(models.Model):
|
class ResPartner(models.Model):
|
||||||
_inherit = 'res.partner'
|
_inherit = 'res.partner'
|
||||||
|
|
||||||
@api.multi
|
@api.multi
|
||||||
def _notify(self, message, force_send=False, user_signature=True):
|
def _notify(self, message, force_send=False, send_after_commit=True,
|
||||||
|
user_signature=True):
|
||||||
if self.env.context.get('force_partners_to_notify'):
|
if self.env.context.get('force_partners_to_notify'):
|
||||||
partners_to_notify =\
|
partners_to_notify =\
|
||||||
self.env.context.get('force_partners_to_notify')
|
self.env.context.get('force_partners_to_notify')
|
||||||
self = self.filtered(lambda p: p.id in partners_to_notify)
|
self = self.filtered(lambda p: p.id in partners_to_notify)
|
||||||
super(ResPartner, self)._notify(
|
super(ResPartner, self)._notify(
|
||||||
message, force_send=False, user_signature=True)
|
message, force_send=force_send,
|
||||||
|
send_after_commit=send_after_commit, user_signature=user_signature)
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
# Copyright 2016 ACSONE SA/NV (<http://acsone.eu>)
|
# Copyright 2016 ACSONE SA/NV (<http://acsone.eu>)
|
||||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||||
|
|
||||||
from openerp.tests import common
|
from odoo.tests import common
|
||||||
|
|
||||||
|
|
||||||
class TestMailOptionalFollowernotifications(common.TransactionCase):
|
class TestMailOptionalFollowernotifications(common.TransactionCase):
|
||||||
@ -11,8 +11,8 @@ class TestMailOptionalFollowernotifications(common.TransactionCase):
|
|||||||
super(TestMailOptionalFollowernotifications, self).setUp()
|
super(TestMailOptionalFollowernotifications, self).setUp()
|
||||||
self.partner_obj = self.env['res.partner']
|
self.partner_obj = self.env['res.partner']
|
||||||
self.partner_01 = self.env.ref('base.res_partner_2')
|
self.partner_01 = self.env.ref('base.res_partner_2')
|
||||||
self.partner_02 = self.env.ref('base.res_partner_3')
|
self.demo_user = self.env.ref('base.user_demo')
|
||||||
self.partner_03 = self.env.ref('base.res_partner_4')
|
self.partner_03 = self.demo_user.copy().partner_id
|
||||||
|
|
||||||
def test_send_email_optional_follower_notifications(self):
|
def test_send_email_optional_follower_notifications(self):
|
||||||
ctx = self.env.context.copy()
|
ctx = self.env.context.copy()
|
||||||
@ -22,10 +22,11 @@ class TestMailOptionalFollowernotifications(common.TransactionCase):
|
|||||||
'default_composition_mode': 'comment',
|
'default_composition_mode': 'comment',
|
||||||
})
|
})
|
||||||
mail_compose = self.env['mail.compose.message']
|
mail_compose = self.env['mail.compose.message']
|
||||||
|
self.partner_01.message_subscribe_users(user_ids=[self.demo_user.id])
|
||||||
values = mail_compose.with_context(ctx)\
|
values = mail_compose.with_context(ctx)\
|
||||||
.onchange_template_id(False, 'comment', 'res.partner',
|
.onchange_template_id(False, 'comment', 'res.partner',
|
||||||
self.partner_01.id)['value']
|
self.partner_01.id)['value']
|
||||||
values['partner_ids'] = [(4, self.partner_02.id),
|
values['partner_ids'] = [(4, self.demo_user.partner_id.id),
|
||||||
(4, self.partner_03.id)]
|
(4, self.partner_03.id)]
|
||||||
compose_id = mail_compose.with_context(ctx).create(values)
|
compose_id = mail_compose.with_context(ctx).create(values)
|
||||||
compose_id.with_context(ctx).send_mail()
|
compose_id.with_context(ctx).send_mail()
|
||||||
@ -35,7 +36,7 @@ class TestMailOptionalFollowernotifications(common.TransactionCase):
|
|||||||
self.assertEqual(len(res.ids), 1)
|
self.assertEqual(len(res.ids), 1)
|
||||||
message = self.env['mail.message']
|
message = self.env['mail.message']
|
||||||
for record in res:
|
for record in res:
|
||||||
if record.notified_partner_ids.ids == [self.partner_03.id] and\
|
if record.notification_ids.mapped('res_partner_id').ids == [self.partner_03.id] and\
|
||||||
record.partner_ids.ids == [self.partner_03.id]:
|
record.partner_ids.ids == [self.partner_03.id]:
|
||||||
message += record
|
message += record
|
||||||
self.assertEqual(len(message.ids), 0)
|
self.assertEqual(len(message.ids), 0)
|
||||||
@ -48,7 +49,7 @@ class TestMailOptionalFollowernotifications(common.TransactionCase):
|
|||||||
('res_id', '=', self.partner_01.id)])
|
('res_id', '=', self.partner_01.id)])
|
||||||
message = self.env['mail.message']
|
message = self.env['mail.message']
|
||||||
for record in res:
|
for record in res:
|
||||||
if record.notified_partner_ids.ids == [self.partner_03.id] and\
|
if record.notification_ids.mapped('res_partner_id').ids == [self.partner_03.id] and\
|
||||||
record.partner_ids.ids == [self.partner_03.id]:
|
record.partner_ids.ids == [self.partner_03.id]:
|
||||||
message += record
|
message += record
|
||||||
self.assertEqual(len(message.ids), 1)
|
self.assertEqual(len(message.ids), 1)
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
# Copyright 2016 ACSONE SA/NV (<http://acsone.eu>)
|
# Copyright 2016 ACSONE SA/NV (<http://acsone.eu>)
|
||||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||||
|
|
||||||
from openerp import models, fields, api
|
from odoo import models, fields, api
|
||||||
|
|
||||||
|
|
||||||
class MailComposeMessage(models.TransientModel):
|
class MailComposeMessage(models.TransientModel):
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<openerp>
|
<odoo>
|
||||||
<data noupdate="0">
|
<data noupdate="0">
|
||||||
<record model="ir.ui.view" id="email_compose_message_wizard_inherit_form">
|
<record model="ir.ui.view" id="email_compose_message_wizard_inherit_form">
|
||||||
<field name="name">mail.compose.message.form (mail_optional_autofollow)</field>
|
<field name="name">mail.compose.message.form (mail_optional_autofollow)</field>
|
||||||
@ -15,4 +15,4 @@
|
|||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
</data>
|
</data>
|
||||||
</openerp>
|
</odoo>
|
Loading…
Reference in New Issue
Block a user