[IMP] mail: reintroduce mail_template_ids in activity
Task-2998135 closes odoo/odoo#101998 X-original-commit: c00828010f1245200b30451fb25a239047986421 Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
This commit is contained in:
+6
-1
@@ -28,8 +28,13 @@
|
||||
</t>
|
||||
<small t-att-title="activityListViewItem.activity.dateDeadline" t-esc="activityListViewItem.delayLabel"/>
|
||||
</div>
|
||||
<!-- TODO handle "mail_template_ids" -->
|
||||
<ActivityMarkDonePopoverContent t-if="activityListViewItem.markDoneView" record="activityListViewItem.markDoneView"/>
|
||||
<div t-if="activityListViewItem.mailTemplateViews.length > 0" class="mx-3 mt-2">
|
||||
<MailTemplate
|
||||
t-foreach="activityListViewItem.mailTemplateViews" t-as="mailTemplateView" t-key="mailTemplateView"
|
||||
record="mailTemplateView"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</t>
|
||||
</templates>
|
||||
|
||||
@@ -2,6 +2,10 @@
|
||||
// Layout
|
||||
// ------------------------------------------------------------------
|
||||
|
||||
.o_Activity_core {
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
.o_Activity_detailsUserAvatar {
|
||||
object-fit: cover;
|
||||
height: 18px;
|
||||
|
||||
@@ -3,25 +3,29 @@
|
||||
|
||||
<t t-name="mail.MailTemplate" owl="1">
|
||||
<t t-if="mailTemplateView">
|
||||
<div class="o_MailTemplate flex-shrink-0 align-items-center d-flex" t-attf-class="{{ className }}" t-ref="root">
|
||||
<i class="fa fa-envelope-o" title="Mail" role="img"/>
|
||||
<span class="o_MailTemplate_name ms-2" t-esc="mailTemplateView.mailTemplate.name"/>
|
||||
<span>:</span>
|
||||
<button
|
||||
class="o_MailTemplate_button o_MailTemplate_preview btn btn-link py-0"
|
||||
t-att-data-mail-template-id="mailTemplateView.mailTemplate.id"
|
||||
t-on-click="mailTemplateView.onClickPreview"
|
||||
>
|
||||
Preview
|
||||
</button>
|
||||
<em class="o_MailTemplate_text text-500">or</em>
|
||||
<button
|
||||
class="o_MailTemplate_button o_MailTemplate_send btn btn-link py-0"
|
||||
t-att-data-mail-template-id="mailTemplateView.mailTemplate.id"
|
||||
t-on-click="mailTemplateView.onClickSend"
|
||||
>
|
||||
Send Now
|
||||
</button>
|
||||
<div class="o_MailTemplate d-flex align-items-baseline flex-wrap" t-attf-class="{{ className }}" t-ref="root">
|
||||
<div class="text-truncate">
|
||||
<i class="fa fa-envelope-o" title="Mail" role="img"/>
|
||||
<span class="o_MailTemplate_name ms-2" t-esc="mailTemplateView.mailTemplate.name"/>
|
||||
<span>:</span>
|
||||
</div>
|
||||
<div class="d-flex align-items-baseline">
|
||||
<button
|
||||
class="o_MailTemplate_button o_MailTemplate_preview btn btn-link py-0"
|
||||
t-att-data-mail-template-id="mailTemplateView.mailTemplate.id"
|
||||
t-on-click="mailTemplateView.onClickPreview"
|
||||
>
|
||||
Preview
|
||||
</button>
|
||||
<em class="o_MailTemplate_text text-500">or</em>
|
||||
<button
|
||||
class="o_MailTemplate_button o_MailTemplate_send btn btn-link py-0"
|
||||
t-att-data-mail-template-id="mailTemplateView.mailTemplate.id"
|
||||
t-on-click="mailTemplateView.onClickSend"
|
||||
>
|
||||
Send Now
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</t>
|
||||
</t>
|
||||
|
||||
@@ -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',
|
||||
}),
|
||||
|
||||
@@ -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', {
|
||||
|
||||
Reference in New Issue
Block a user