From 7ffb5a0eff3a1bb0dca9b5261b2a5c40c06d46fa Mon Sep 17 00:00:00 2001 From: "Didier (did)" Date: Wed, 28 Sep 2022 11:21:23 +0000 Subject: [PATCH] [IMP] mail: reintroduce mail_template_ids in activity MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Task-2998135 closes odoo/odoo#101998 X-original-commit: c00828010f1245200b30451fb25a239047986421 Signed-off-by: Sébastien Theys (seb) --- .../activity_list_view_item.xml | 7 +++- .../src/components/activity/activity.scss | 4 ++ .../mail_template/mail_template.xml | 42 ++++++++++--------- .../src/models/activity_list_view_item.js | 8 +++- .../static/src/models/mail_template_view.js | 24 +++++++++-- 5 files changed, 61 insertions(+), 24 deletions(-) diff --git a/addons/mail/static/src/backend_components/activity_list_view_item/activity_list_view_item.xml b/addons/mail/static/src/backend_components/activity_list_view_item/activity_list_view_item.xml index dd63b1410f2..23fe0f468b6 100644 --- a/addons/mail/static/src/backend_components/activity_list_view_item/activity_list_view_item.xml +++ b/addons/mail/static/src/backend_components/activity_list_view_item/activity_list_view_item.xml @@ -28,8 +28,13 @@ - +
+ +
diff --git a/addons/mail/static/src/components/activity/activity.scss b/addons/mail/static/src/components/activity/activity.scss index 8b7ce6bf630..2c1bf422d26 100644 --- a/addons/mail/static/src/components/activity/activity.scss +++ b/addons/mail/static/src/components/activity/activity.scss @@ -2,6 +2,10 @@ // Layout // ------------------------------------------------------------------ +.o_Activity_core { + min-width: 0; +} + .o_Activity_detailsUserAvatar { object-fit: cover; height: 18px; diff --git a/addons/mail/static/src/components/mail_template/mail_template.xml b/addons/mail/static/src/components/mail_template/mail_template.xml index 758ca43a6c0..411a462a3ae 100644 --- a/addons/mail/static/src/components/mail_template/mail_template.xml +++ b/addons/mail/static/src/components/mail_template/mail_template.xml @@ -3,25 +3,29 @@ -
- - - : - - or - +
+
+ + + : +
+
+ + or + +
diff --git a/addons/mail/static/src/models/activity_list_view_item.js b/addons/mail/static/src/models/activity_list_view_item.js index 7f9ece3b4b2..46ebf4a0732 100644 --- a/addons/mail/static/src/models/activity_list_view_item.js +++ b/addons/mail/static/src/models/activity_list_view_item.js @@ -1,7 +1,7 @@ /** @odoo-module **/ import { registerModel } from '@mail/model/model_core'; -import { attr, one } from '@mail/model/model_field'; +import { attr, many, one } from '@mail/model/model_field'; import { clear } from '@mail/model/model_field_command'; import { auto_str_to_date } from 'web.time'; @@ -103,6 +103,12 @@ registerModel({ return !this.fileUploader; }, }), + mailTemplateViews: many('MailTemplateView', { + compute() { + return this.activity.mailTemplates.map(mailTemplate => ({ mailTemplate })); + }, + inverse: 'activityListViewItemOwner', + }), markDoneView: one('ActivityMarkDonePopoverContentView', { inverse: 'activityListViewItemOwner', }), diff --git a/addons/mail/static/src/models/mail_template_view.js b/addons/mail/static/src/models/mail_template_view.js index 847961792e1..a9fecab6d49 100644 --- a/addons/mail/static/src/models/mail_template_view.js +++ b/addons/mail/static/src/models/mail_template_view.js @@ -12,7 +12,10 @@ registerModel({ onClickPreview(ev) { ev.stopPropagation(); ev.preventDefault(); - this.mailTemplate.preview(this.activityViewOwner.activity); + this.mailTemplate.preview(this.activity); + if (this.activityListViewItemOwner) { + this.activityListViewItemOwner.activityListViewOwner.popoverViewOwner.delete(); + } }, /** * @param {MouseEvent} ev @@ -20,12 +23,27 @@ registerModel({ onClickSend(ev) { ev.stopPropagation(); ev.preventDefault(); - this.mailTemplate.send(this.activityViewOwner.activity); + this.mailTemplate.send(this.activity); + if (this.activityListViewItemOwner) { + this.activityListViewItemOwner.activityListViewOwner.popoverViewOwner.delete(); + } }, }, fields: { + activity: one('Activity', { + compute() { + if (this.activityViewOwner) { + return this.activityViewOwner.activity; + } + if (this.activityListViewItemOwner) { + return this.activityListViewItemOwner.activity; + } + } + }), + activityListViewItemOwner: one('ActivityListViewItem', { + inverse: 'mailTemplateViews', + }), activityViewOwner: one('ActivityView', { - identifying: true, inverse: 'mailTemplateViews', }), mailTemplate: one('MailTemplate', {