[FIX] sms: fix traceback clicking on Send SMS button

Steps:

install calendar app.
enable sms template of calendar.
go to calendar event form view.
try to send SMS.
Issue:

traceback clicking `Send SMS' of Send SMS wizard.
Cause:

trying to write on field even though field does not
exist in model.
Fix:

check field exist in model before write on it.
task-3084701

closes odoo/odoo#114824

X-original-commit: b773006055f0c29e56b2719621e2abd80af6b9e7
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
This commit is contained in:
Eteil Djoumatchoua (etdj)
2023-03-29 10:37:19 +02:00
committed by Pratik Awasthi
parent d07aa92906
commit f8071dc521
@@ -120,6 +120,19 @@ class TestSMSComposerComment(TestSMSCommon, TestSMSRecipients):
self.assertSMSNotification([{'partner': self.test_record.customer_id, 'number': self.test_record.mobile_nbr}], 'Dear %s this is an SMS.' % self.test_record.display_name, messages)
def test_composer_comment_nofield(self):
""" Test the Send Message in SMS Composer when a Model does not contain any phone number related field """
test_record = self.env['mail.test.sms.partner'].create({'name': 'Test'})
sms_composer = self.env['sms.composer'].create({
'body': self._test_body,
'recipient_single_number_itf': self.random_numbers_san[0],
'res_id': test_record.id,
'res_model': 'mail.test.sms.partner'
})
with self.mockSMSGateway():
sms_composer._action_send_sms()
self.assertSMSNotification([{'number': self.random_numbers_san[0]}], self._test_body)
def test_composer_default_recipient(self):
self.test_record.write({
'phone_nbr': '0123456789',