diff --git a/addons/mail/models/res_partner.py b/addons/mail/models/res_partner.py index aa7d52b408f..09554230025 100644 --- a/addons/mail/models/res_partner.py +++ b/addons/mail/models/res_partner.py @@ -232,6 +232,8 @@ class Partner(models.Model): @api.multi def _notify_by_chat(self, message): """ Broadcast the message to all the partner since """ + if not self: + return message_values = message.message_format()[0] notifications = [] for partner in self: diff --git a/addons/test_mail/tests/test_performance.py b/addons/test_mail/tests/test_performance.py index 2b3442608c0..1990b3a225e 100644 --- a/addons/test_mail/tests/test_performance.py +++ b/addons/test_mail/tests/test_performance.py @@ -170,7 +170,7 @@ class TestAdvMailPerformance(TransactionCase): 'activity_type_id': self.env.ref('mail.mail_activity_data_todo').id, }) - with self.assertQueryCount(margin=1, admin=49, emp=73): # test_mail only: 49 - 73 + with self.assertQueryCount(margin=1, admin=37, emp=58): # test_mail only: 37 - 58 activity.action_feedback(feedback='Zizisse Done !') @users('admin', 'emp') @@ -184,7 +184,7 @@ class TestAdvMailPerformance(TransactionCase): record.write({'name': 'Dupe write'}) - with self.assertQueryCount(margin=1, admin=51, emp=75): # test_mail only: 51 - 75 + with self.assertQueryCount(margin=1, admin=39, emp=60): # test_mail only: 39 - 60 record.action_close('Dupe feedback') self.assertEqual(record.activity_ids, self.env['mail.activity']) @@ -196,7 +196,7 @@ class TestAdvMailPerformance(TransactionCase): self.user_test.write({'notification_type': 'email'}) record = self.env['mail.test.track'].create({'name': 'Test'}) - with self.assertQueryCount(margin=1, admin=81, emp=105): # test_mail only: 79 - 103 + with self.assertQueryCount(margin=1, admin=68, emp=87): # com runbot: 67 - 85 // test_mail only: 66 - 85 record.write({ 'user_id': self.user_test.id, }) @@ -226,7 +226,7 @@ class TestAdvMailPerformance(TransactionCase): def test_message_log_with_post(self): record = self.env['mail.test.simple'].create({'name': 'Test'}) - with self.assertQueryCount(admin=24, emp=34): # test_mail only: 24 - 34 + with self.assertQueryCount(admin=15, emp=29): # com runbot: 13 - 20 // test_mail only: 15 - 29 record.message_post( body='
Test message_post as log
', subtype='mail.mt_note', @@ -237,7 +237,7 @@ class TestAdvMailPerformance(TransactionCase): def test_message_post_no_notification(self): record = self.env['mail.test.simple'].create({'name': 'Test'}) - with self.assertQueryCount(admin=24, emp=34): # test_mail only: 24 - 34 + with self.assertQueryCount(admin=15, emp=29): # com runbot: 13 - 20 // test_mail only: 15 - 29 record.message_post( body='Test Post Performances basic
', partner_ids=[], @@ -250,7 +250,7 @@ class TestAdvMailPerformance(TransactionCase): def test_message_post_one_email_notification(self): record = self.env['mail.test.simple'].create({'name': 'Test'}) - with self.assertQueryCount(margin=1, admin=74, emp=99): # com runbot: 72 - 97 // test_mail only: 72 - 97 + with self.assertQueryCount(margin=1, admin=66, emp=89): # com runbot: 57 - 75 // test_mail only: 64 - 87 record.message_post( body='Test Post Performances with an email ping
', partner_ids=self.customer.ids, @@ -385,7 +385,7 @@ class TestHeavyMailPerformance(TransactionCase): self.umbrella.message_subscribe(self.user_portal.partner_id.ids) record = self.umbrella.sudo(self.env.user) - with self.assertQueryCount(admin=114, emp=143): # com runbot 112 - 141 // test_mail only: 110 - 139 + with self.assertQueryCount(admin=105, emp=136): # com runbot 96 - 118 // test_mail only: 101 - 132 record.message_post( body='Test Post Performances
', message_type='comment', @@ -402,7 +402,7 @@ class TestHeavyMailPerformance(TransactionCase): record = self.umbrella.sudo(self.env.user) template_id = self.env.ref('test_mail.mail_test_tpl').id - with self.assertQueryCount(admin=133, emp=174): # com runbot 131 - 172 // test_mail only: 129 - 170 + with self.assertQueryCount(admin=124, emp=167): # com runbot 115 - 150 // test_mail only: 120 - 163 record.message_post_with_template(template_id, message_type='comment', composition_mode='comment') self.assertEqual(record.message_ids[0].body, 'Adding stuff on %s
' % record.name) @@ -472,7 +472,7 @@ class TestHeavyMailPerformance(TransactionCase): }) self.assertEqual(rec.message_partner_ids, self.partners | self.env.user.partner_id) - with self.assertQueryCount(admin=82, emp=108): # test_mail only: 80 - 106 + with self.assertQueryCount(admin=70, emp=91): # com runbot: 69 - 89 // test_mail only: 68 - 89 rec.write({'user_id': self.user_portal.id}) self.assertEqual(rec.message_partner_ids, self.partners | self.env.user.partner_id | self.user_portal.partner_id) @@ -495,7 +495,7 @@ class TestHeavyMailPerformance(TransactionCase): customer_id = self.customer.id user_id = self.user_portal.id - with self.assertQueryCount(margin=1, admin=235, emp=284): # test_mail only: 228 - 277 + with self.assertQueryCount(margin=1, admin=205, emp=244): # com runbot: 203 - 239 // test_mail only: 199 - 239 rec = self.env['mail.test.full'].create({ 'name': 'Test', 'umbrella_id': umbrella_id, @@ -524,7 +524,7 @@ class TestHeavyMailPerformance(TransactionCase): }) self.assertEqual(rec.message_partner_ids, self.user_portal.partner_id | self.env.user.partner_id) - with self.assertQueryCount(admin=147, emp=172): # test_mail only: 142 - 167 + with self.assertQueryCount(margin=1, admin=130, emp=151): # com runbot: 129 - 148 // test_mail only: 126 - 147 rec.write({ 'name': 'Test2', 'umbrella_id': self.umbrella.id, @@ -562,7 +562,7 @@ class TestHeavyMailPerformance(TransactionCase): }) self.assertEqual(rec.message_partner_ids, self.user_portal.partner_id | self.env.user.partner_id) - with self.assertQueryCount(admin=152, emp=180): # test_mail only: 147 - 175 + with self.assertQueryCount(margin=1, admin=136, emp=159): # com runbot: 136 - 158 // test_mail only: 132 - 155 rec.write({ 'name': 'Test2', 'umbrella_id': umbrella_id, @@ -596,7 +596,7 @@ class TestHeavyMailPerformance(TransactionCase): }) self.assertEqual(rec.message_partner_ids, self.partners | self.env.user.partner_id | self.user_portal.partner_id) - with self.assertQueryCount(admin=57, emp=78): # test_mail only: 55 - 76 + with self.assertQueryCount(admin=58, emp=79): # test_mail only: 56 - 77 rec.write({ 'name': 'Test2', 'customer_id': customer_id,