diff options
| author | Christophe Simonis <chs@odoo.com> | 2019-09-13 18:07:59 +0200 |
|---|---|---|
| committer | Christophe Simonis <chs@odoo.com> | 2019-09-13 18:07:59 +0200 |
| commit | 6c948c36bbf72dd896e0bff03aa7fbddadcbb0cd (patch) | |
| tree | f8620905c011735d8a3c340c46d1417a54a75972 /addons/test_mail_full | |
| parent | 48503fcf08eac6fed12e080d4f501f9bbc8d257d (diff) | |
| parent | 197474e5b9ad43ab2d587a98136a1a809ce9a2e7 (diff) | |
[MERGE] forward port branch saas-12.5 up to 197474e5b9a
Diffstat (limited to 'addons/test_mail_full')
| -rw-r--r-- | addons/test_mail_full/i18n/test_mail_full.pot | 291 | ||||
| -rw-r--r-- | addons/test_mail_full/tests/test_sms_composer.py | 76 |
2 files changed, 367 insertions, 0 deletions
diff --git a/addons/test_mail_full/i18n/test_mail_full.pot b/addons/test_mail_full/i18n/test_mail_full.pot new file mode 100644 index 00000000000..75ac8eee973 --- /dev/null +++ b/addons/test_mail_full/i18n/test_mail_full.pot @@ -0,0 +1,291 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * test_mail_full +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~12.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-09-09 10:49+0000\n" +"PO-Revision-Date: 2019-09-09 10:49+0000\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: test_mail_full +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms__message_needaction +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_bl__message_needaction +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_partner__message_needaction +msgid "Action Needed" +msgstr "" + +#. module: test_mail_full +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms__message_attachment_count +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_bl__message_attachment_count +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_partner__message_attachment_count +msgid "Attachment Count" +msgstr "" + +#. module: test_mail_full +#: model:ir.model,name:test_mail_full.model_mail_test_sms +#: model:ir.model,name:test_mail_full.model_mail_test_sms_bl +msgid "Chatter Model for SMS Gateway" +msgstr "" + +#. module: test_mail_full +#: model:ir.model,name:test_mail_full.model_mail_test_sms_partner +msgid "Chatter Model for SMS Gateway (Partner only)" +msgstr "" + +#. module: test_mail_full +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms__create_uid +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_bl__create_uid +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_partner__create_uid +msgid "Created by" +msgstr "" + +#. module: test_mail_full +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms__create_date +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_bl__create_date +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_partner__create_date +msgid "Created on" +msgstr "" + +#. module: test_mail_full +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms__customer_id +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_bl__customer_id +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_partner__partner_id +msgid "Customer" +msgstr "" + +#. module: test_mail_full +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms__display_name +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_bl__display_name +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_partner__display_name +msgid "Display Name" +msgstr "" + +#. module: test_mail_full +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms__email_from +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_bl__email_from +msgid "Email From" +msgstr "" + +#. module: test_mail_full +#: model:ir.model.fields,help:test_mail_full.field_mail_test_sms_bl__phone_sanitized +msgid "" +"Field used to store sanitized phone number. Helps speeding up searches and " +"comparisons." +msgstr "" + +#. module: test_mail_full +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms__message_follower_ids +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_bl__message_follower_ids +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_partner__message_follower_ids +msgid "Followers" +msgstr "" + +#. module: test_mail_full +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms__message_channel_ids +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_bl__message_channel_ids +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_partner__message_channel_ids +msgid "Followers (Channels)" +msgstr "" + +#. module: test_mail_full +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms__message_partner_ids +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_bl__message_partner_ids +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_partner__message_partner_ids +msgid "Followers (Partners)" +msgstr "" + +#. module: test_mail_full +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms__id +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_bl__id +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_partner__id +msgid "ID" +msgstr "" + +#. module: test_mail_full +#: model:ir.model.fields,help:test_mail_full.field_mail_test_sms__message_needaction +#: model:ir.model.fields,help:test_mail_full.field_mail_test_sms__message_unread +#: model:ir.model.fields,help:test_mail_full.field_mail_test_sms_bl__message_needaction +#: model:ir.model.fields,help:test_mail_full.field_mail_test_sms_bl__message_unread +#: model:ir.model.fields,help:test_mail_full.field_mail_test_sms_partner__message_needaction +#: model:ir.model.fields,help:test_mail_full.field_mail_test_sms_partner__message_unread +msgid "If checked, new messages require your attention." +msgstr "" + +#. module: test_mail_full +#: model:ir.model.fields,help:test_mail_full.field_mail_test_sms__message_has_error +#: model:ir.model.fields,help:test_mail_full.field_mail_test_sms__message_has_sms_error +#: model:ir.model.fields,help:test_mail_full.field_mail_test_sms_bl__message_has_error +#: model:ir.model.fields,help:test_mail_full.field_mail_test_sms_bl__message_has_sms_error +#: model:ir.model.fields,help:test_mail_full.field_mail_test_sms_partner__message_has_error +#: model:ir.model.fields,help:test_mail_full.field_mail_test_sms_partner__message_has_sms_error +msgid "If checked, some messages have a delivery error." +msgstr "" + +#. module: test_mail_full +#: model:ir.model.fields,help:test_mail_full.field_mail_test_sms_bl__phone_blacklisted +msgid "" +"If the email address is on the blacklist, the contact won't receive mass " +"mailing anymore, from any list" +msgstr "" + +#. module: test_mail_full +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms__message_is_follower +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_bl__message_is_follower +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_partner__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: test_mail_full +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms____last_update +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_bl____last_update +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_partner____last_update +msgid "Last Modified on" +msgstr "" + +#. module: test_mail_full +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms__write_uid +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_bl__write_uid +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_partner__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: test_mail_full +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms__write_date +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_bl__write_date +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_partner__write_date +msgid "Last Updated on" +msgstr "" + +#. module: test_mail_full +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms__message_main_attachment_id +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_bl__message_main_attachment_id +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_partner__message_main_attachment_id +msgid "Main Attachment" +msgstr "" + +#. module: test_mail_full +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms__message_has_error +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_bl__message_has_error +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_partner__message_has_error +msgid "Message Delivery error" +msgstr "" + +#. module: test_mail_full +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms__message_ids +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_bl__message_ids +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_partner__message_ids +msgid "Messages" +msgstr "" + +#. module: test_mail_full +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms__mobile_nbr +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_bl__mobile_nbr +msgid "Mobile Nbr" +msgstr "" + +#. module: test_mail_full +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms__name +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_bl__name +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_partner__name +msgid "Name" +msgstr "" + +#. module: test_mail_full +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms__message_needaction_counter +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_bl__message_needaction_counter +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_partner__message_needaction_counter +msgid "Number of Actions" +msgstr "" + +#. module: test_mail_full +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms__message_has_error_counter +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_bl__message_has_error_counter +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_partner__message_has_error_counter +msgid "Number of errors" +msgstr "" + +#. module: test_mail_full +#: model:ir.model.fields,help:test_mail_full.field_mail_test_sms__message_needaction_counter +#: model:ir.model.fields,help:test_mail_full.field_mail_test_sms_bl__message_needaction_counter +#: model:ir.model.fields,help:test_mail_full.field_mail_test_sms_partner__message_needaction_counter +msgid "Number of messages which requires an action" +msgstr "" + +#. module: test_mail_full +#: model:ir.model.fields,help:test_mail_full.field_mail_test_sms__message_has_error_counter +#: model:ir.model.fields,help:test_mail_full.field_mail_test_sms_bl__message_has_error_counter +#: model:ir.model.fields,help:test_mail_full.field_mail_test_sms_partner__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "" + +#. module: test_mail_full +#: model:ir.model.fields,help:test_mail_full.field_mail_test_sms__message_unread_counter +#: model:ir.model.fields,help:test_mail_full.field_mail_test_sms_bl__message_unread_counter +#: model:ir.model.fields,help:test_mail_full.field_mail_test_sms_partner__message_unread_counter +msgid "Number of unread messages" +msgstr "" + +#. module: test_mail_full +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_bl__phone_blacklisted +msgid "Phone Blacklisted" +msgstr "" + +#. module: test_mail_full +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms__phone_nbr +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_bl__phone_nbr +msgid "Phone Nbr" +msgstr "" + +#. module: test_mail_full +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms__message_has_sms_error +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_bl__message_has_sms_error +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_partner__message_has_sms_error +msgid "SMS Delivery error" +msgstr "" + +#. module: test_mail_full +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_bl__phone_sanitized +msgid "Sanitized Number" +msgstr "" + +#. module: test_mail_full +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms__subject +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_bl__subject +msgid "Subject" +msgstr "" + +#. module: test_mail_full +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms__message_unread +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_bl__message_unread +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_partner__message_unread +msgid "Unread Messages" +msgstr "" + +#. module: test_mail_full +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms__message_unread_counter +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_bl__message_unread_counter +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_partner__message_unread_counter +msgid "Unread Messages Counter" +msgstr "" + +#. module: test_mail_full +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms__website_message_ids +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_bl__website_message_ids +#: model:ir.model.fields,field_description:test_mail_full.field_mail_test_sms_partner__website_message_ids +msgid "Website Messages" +msgstr "" + +#. module: test_mail_full +#: model:ir.model.fields,help:test_mail_full.field_mail_test_sms__website_message_ids +#: model:ir.model.fields,help:test_mail_full.field_mail_test_sms_bl__website_message_ids +#: model:ir.model.fields,help:test_mail_full.field_mail_test_sms_partner__website_message_ids +msgid "Website communication history" +msgstr "" diff --git a/addons/test_mail_full/tests/test_sms_composer.py b/addons/test_mail_full/tests/test_sms_composer.py index 4e8e7e70edb..04ff799408f 100644 --- a/addons/test_mail_full/tests/test_sms_composer.py +++ b/addons/test_mail_full/tests/test_sms_composer.py @@ -420,3 +420,79 @@ class TestSMSComposerMass(test_mail_full_common.BaseFunctionalTest, sms_common.M for record in self.records: self.assertSMSOutgoing(record.customer_id, None, 'Dear %s this is an SMS.' % record.display_name) self.assertSMSLogged(record, 'Dear %s this is an SMS.' % record.display_name) + + def test_composer_template_context_action(self): + """ Test the context action from a SMS template (Add context action button) + and the usage with the sms composer """ + # Create the lang info + self.env.ref('base.lang_fr').write({'active': True}) + self.env['ir.translation'].create({ + 'type': 'model', + 'name': 'sms.template,body', + 'lang': 'fr_FR', + 'res_id': self.sms_template.id, + 'src': self.sms_template.body, + 'value': "Hello ${object.display_name} ceci est en français.", + }) + # set template to try to use customer lang + self.sms_template.write({ + 'lang': '${object.customer_id.lang}', + }) + # create a second record linked to a customer in another language + self.partners[2].write({'lang': 'fr_FR'}) + test_record_2 = self.env['mail.test.sms'].create({ + 'name': 'Test', + 'customer_id': self.partners[2].id, + }) + test_record_1 = self.env['mail.test.sms'].create({ + 'name': 'Test', + 'customer_id': self.partners[1].id, + }) + # Composer creation with context from a template context action (simulate) - comment (single recipient) + with self.sudo('employee'): + composer = self.env['sms.composer'].with_context( + default_composition_mode='guess', + default_res_ids=[test_record_2.id], + default_res_id=test_record_2.id, + active_ids=[test_record_2.id], + active_id=test_record_2.id, + active_model='mail.test.sms', + default_template_id=self.sms_template.id, + ).create({ + 'mass_keep_log': False, + }) + # Call manually the onchange + composer._onchange_template_id() + self.assertEquals(composer.composition_mode, "comment") + self.assertEquals(composer.body, "Hello %s ceci est en français." % test_record_2.display_name) + + with self.mockSMSGateway(): + messages = composer._action_send_sms() + + number = self.partners[2].phone_get_sanitized_number() + self.assertSMSNotification([{'partner': test_record_2.customer_id, 'number': number}], "Hello %s ceci est en français." % test_record_2.display_name, messages) + + # Composer creation with context from a template context action (simulate) - mass (multiple recipient) + with self.sudo('employee'): + composer = self.env['sms.composer'].with_context( + default_composition_mode='guess', + default_res_ids=[test_record_1.id, test_record_2.id], + default_res_id=test_record_1.id, + active_ids=[test_record_1.id, test_record_2.id], + active_id=test_record_1.id, + active_model='mail.test.sms', + default_template_id=self.sms_template.id, + ).create({ + 'mass_keep_log': True, + }) + # Call manually the onchange + composer._onchange_template_id() + self.assertEquals(composer.composition_mode, "mass") + # In english because by default but when sinding depending of record + self.assertEquals(composer.body, "Dear ${object.display_name} this is an SMS.") + + with self.mockSMSGateway(): + composer.action_send_sms() + + self.assertSMSOutgoing(test_record_1.customer_id, None, 'Dear %s this is an SMS.' % test_record_1.display_name) + self.assertSMSOutgoing(test_record_2.customer_id, None, "Hello %s ceci est en français." % test_record_2.display_name) |
