Skip to content
Snippets Groups Projects
Commit cf98b3a8 authored by Eteil Djoumatchoua (etdj)'s avatar Eteil Djoumatchoua (etdj) Committed by Pratik Awasthi
Browse files

[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#107472

Signed-off-by: default avatarThibault Delavallee (tde) <tde@openerp.com>
parent 84613d1c
No related branches found
No related tags found
No related merge requests found
......@@ -230,7 +230,9 @@ class SendSMS(models.TransientModel):
# on the numbers in the database.
records = records if records is not None else self._get_records()
records.ensure_one()
if self.recipient_single_number_itf and self.recipient_single_number_itf != self.recipient_single_number:
if not self.number_field_name:
self.numbers = self.recipient_single_number_itf or self.recipient_single_number
elif self.recipient_single_number_itf and self.recipient_single_number_itf != self.recipient_single_number:
records.write({self.number_field_name: self.recipient_single_number_itf})
return self._action_send_sms_comment(records=records)
......
......@@ -120,6 +120,19 @@ class TestSMSComposerComment(TestMailFullCommon, TestRecipients):
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',
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment