summaryrefslogtreecommitdiff
path: root/addons/mail
diff options
context:
space:
mode:
Diffstat (limited to 'addons/mail')
-rw-r--r--addons/mail/models/mail_tracking_value.py1
-rw-r--r--addons/mail/static/src/js/composers/basic_composer.js1
-rw-r--r--addons/mail/static/src/xml/thread.xml4
-rw-r--r--addons/mail/static/tests/chatter_tests.js53
4 files changed, 56 insertions, 3 deletions
diff --git a/addons/mail/models/mail_tracking_value.py b/addons/mail/models/mail_tracking_value.py
index 4edeb10fa65..5c899b957cc 100644
--- a/addons/mail/models/mail_tracking_value.py
+++ b/addons/mail/models/mail_tracking_value.py
@@ -9,6 +9,7 @@ from odoo import api, fields, models, tools
class MailTracking(models.Model):
_name = 'mail.tracking.value'
_description = 'Mail Tracking Value'
+ _rec_name = 'field'
_order = 'track_sequence asc'
# TDE CLEANME: why not a m2o to ir model field ?
diff --git a/addons/mail/static/src/js/composers/basic_composer.js b/addons/mail/static/src/js/composers/basic_composer.js
index a6cdb39e2de..0e4d62232e2 100644
--- a/addons/mail/static/src/js/composers/basic_composer.js
+++ b/addons/mail/static/src/js/composers/basic_composer.js
@@ -390,6 +390,7 @@ var BasicComposer = Widget.extend({
return;
}
+ this.$(".o_composer_button_send").prop("disabled", true);
clearTimeout(this._cannedTimeout);
var self = this;
this._preprocessMessage().then(function (message) {
diff --git a/addons/mail/static/src/xml/thread.xml b/addons/mail/static/src/xml/thread.xml
index 83d40bc7af1..e5db4a72524 100644
--- a/addons/mail/static/src/xml/thread.xml
+++ b/addons/mail/static/src/xml/thread.xml
@@ -351,6 +351,7 @@
</span>
</p>
<div class="o_thread_message_content">
+ <t t-raw="message.getBody()"/>
<t t-if="message.hasTrackingValues()">
<t t-if="message.hasSubtypeDescription()">
<p><t t-esc="message.getSubtypeDescription()"/></p>
@@ -358,9 +359,6 @@
<t t-call="mail.widget.Thread.MessageTracking"/>
</t>
<p t-if="options.displaySubjectOnMessages and message.shouldDisplaySubject()" class="o_mail_subject">Subject: <t t-esc="message.getSubject()"/></p>
- <t t-if="!(message.hasTrackingValues())">
- <t t-raw="message.getBody()"/>
- </t>
<t t-if="message.hasAttachments()">
<div t-if="message.hasImageAttachments()" class="o_attachments_previews">
<t t-foreach="message.getImageAttachments()" t-as="attachment">
diff --git a/addons/mail/static/tests/chatter_tests.js b/addons/mail/static/tests/chatter_tests.js
index aff69b58197..d4d10f71746 100644
--- a/addons/mail/static/tests/chatter_tests.js
+++ b/addons/mail/static/tests/chatter_tests.js
@@ -786,6 +786,59 @@ QUnit.test('chatter: post, receive and star messages', function (assert) {
});
});
+QUnit.test('chatter: post a message disable the send button', function(assert) {
+ assert.expect(3);
+ var form = createView({
+ View: FormView,
+ model: 'partner',
+ data: this.data,
+ services: this.services,
+ arch: '<form string="Partners">' +
+ '<sheet>' +
+ '<field name="foo"/>' +
+ '</sheet>' +
+ '<div class="oe_chatter">' +
+ '<field name="message_ids" widget="mail_thread"/>' +
+ '</div>' +
+ '</form>',
+ res_id: 2,
+ session: {},
+ mockRPC: function (route, args) {
+ if (args.method === 'message_get_suggested_recipients') {
+ return $.when({2: []});
+ }
+ if (args.method === 'message_post') {
+ assert.ok(form.$('.o_composer_button_send').prop("disabled"),
+ "Send button should be disabled when a message is being sent");
+ return $.when(57923);
+ }
+ if (args.method === 'message_format') {
+ return $.when([{
+ author_id: ["42", "Me"],
+ model: 'partner',
+ }]);
+ }
+ return this._super(route, args);
+ },
+ intercepts: {
+ get_messages: function (ev) {
+ ev.stopPropagation();
+ ev.data.callback($.when([]));
+ },
+ },
+ });
+
+ form.$('.o_chatter_button_new_message').click();
+ assert.notOk(form.$('.o_composer_button_send').prop('disabled'),
+ "Send button should be enabled when posting a message");
+ form.$('.oe_chatter .o_composer_text_field:first()').val("My first message");
+ form.$('.oe_chatter .o_composer_button_send').click();
+ form.$('.o_chatter_button_new_message').click();
+ assert.notOk(form.$('.o_composer_button_send').prop('disabled'),
+ "Send button should be enabled when posting another message");
+ form.destroy();
+});
+
QUnit.test('chatter: receive notif when document is open', function (assert) {
assert.expect(2);