diff --git a/addons/sms/wizard/sms_composer.py b/addons/sms/wizard/sms_composer.py index 7096a49bf52..f91faffd550 100644 --- a/addons/sms/wizard/sms_composer.py +++ b/addons/sms/wizard/sms_composer.py @@ -135,7 +135,7 @@ class SendSMS(models.TransientModel): composer.recipient_single_number = '' continue records.ensure_one() - res = records._sms_get_recipients_info(force_field=composer.number_field_name, partner_fallback=False) + res = records._sms_get_recipients_info(force_field=composer.number_field_name, partner_fallback=True) composer.recipient_single_description = res[records.id]['partner'].name or records._mail_get_partners()[records[0].id].display_name composer.recipient_single_number = res[records.id]['number'] or '' diff --git a/addons/test_mail_sms/tests/test_sms_composer.py b/addons/test_mail_sms/tests/test_sms_composer.py index 25fb03a6f73..1b353a32472 100644 --- a/addons/test_mail_sms/tests/test_sms_composer.py +++ b/addons/test_mail_sms/tests/test_sms_composer.py @@ -154,6 +154,7 @@ class TestSMSComposerComment(SMSCommon, TestSMSRecipients): self.assertSMSNotification([{'number': self.random_numbers_san[0]}], self._test_body) def test_composer_default_recipient(self): + """ Test default description of SMS composer must be partner name""" self.test_record.write({ 'phone_nbr': '0123456789', }) @@ -165,9 +166,21 @@ class TestSMSComposerComment(SMSCommon, TestSMSRecipients): 'number_field_name': 'phone_nbr', }) - self.assertFalse(composer.recipient_single_valid) self.assertEqual(composer.recipient_single_description, self.test_record.customer_id.display_name) + def test_composer_nofield_w_customer(self): + """ Test SMS composer without number field, the number on partner must be used instead""" + with self.with_user('employee'): + composer = self.env['sms.composer'].with_context( + default_res_model='mail.test.sms', default_res_id=self.test_record.id, + ).create({ + 'body': self._test_body, + }) + + self.assertTrue(composer.recipient_single_valid) + self.assertEqual(composer.recipient_single_number, self.test_numbers[1]) + self.assertEqual(composer.recipient_single_number_itf, self.test_numbers[1]) + def test_composer_internals(self): with self.with_user('employee'): composer = self.env['sms.composer'].with_context(