Odoo 9 如何编辑聊天机会注释视图
Posted
技术标签:
【中文标题】Odoo 9 如何编辑聊天机会注释视图【英文标题】:Odoo 9 How to edit chatter opportunity notes view 【发布时间】:2017-08-21 08:00:03 【问题描述】:我花了很多时间试图解决我的问题,我想在 odoo crm.lead 中编辑 chatter 中的笔记视图,因为我想在作者之后添加笔记的子类型(电子邮件或笔记或任务等)请注意,我知道如何获得价值,但我不知道我需要编辑什么来更改聊天中的消息视图,我所知道的一切都是从视图中声明整个聊天的这条线:
<field name="message_ids" widget="mail_thread"/>
所以请告诉我我需要更改什么以及在哪里添加子类型以在 chatter 中添加注释:
【问题讨论】:
【参考方案1】:好吧,伙计们,一如既往,我必须自己做所有事情,所以我会发布我发现的内容,也许我会帮助某人:
你需要去 static > src > xml > thread.xml 您必须在网站源中搜索您要编辑的内容是什么:
然后在xml文件中搜索o_thread_message_core
当你找到它时,你需要从我们的行中搜索东西,例如 res.partner 或 date 然后你会得到可以添加一些东西的地方,我在代码中添加了这一行:
<t t-if="message.model == 'crm.lead' && (message.is_note)">
Type: <t t-esc="message.subtype_id[1]"/>
</t>
毕竟这行代码是这样的:
<div t-att-class="'o_thread_message_core' + (message.is_note ? ' o_mail_note' : '')">
<p t-if="message.display_author" class="o_mail_info">
<t t-if="message.is_note">
Note by
</t>
<strong t-if="message.mailto">
<a class="o_mail_mailto" t-attf-href="mailto:#message.mailto?subject=Re: #message.subject">
<t t-esc="message.mailto"/>
</a>
</strong>
<strong t-if="!message.mailto && message.author_id[0]"
data-oe-model="res.partner" t-att-data-oe-id="message.author_redirect ? message.author_id[0] : ''"
t-attf-class="#message.author_redirect ? 'o_mail_redirect' : ''">
<t t-esc="message.displayed_author"/>
</strong>
<strong t-if="!message.mailto && !message.author_id[0]">
<t t-esc="message.displayed_author"/>
</strong>
<small t-att-title="message.date">
- <t t-esc="message.hour"/>
</small>
<!-- VVV HERE I ADDED THIS VVV-->
<t t-if="message.model == 'crm.lead' && (message.is_note)">
Type: <t t-esc="message.subtype_id[1]"/>
</t>
<!-- ^^^ HERE I ADDED THIS ^^^-->
<t t-if="message.model && (message.model != 'mail.channel') && options.display_document_link">
on <a t-att-href="message.url" t-att-data-oe-model="message.model" t-att-data-oe-id="message.res_id"><t t-esc="message.record_name"/></a>
</t>
<t t-if="message.origin_id && (message.origin_id !== options.channel_id)">
(from <a t-att-data-oe-id="message.origin_id" href="#">#<t t-esc="message.origin_name"/></a>)
</t>
<span>
<i t-if="options.display_stars && !message.is_system_notification"
t-att-class="'fa fa-lg o_thread_message_star ' + (message.is_starred ? 'fa-star' : 'fa-star-o')"
t-att-data-message-id="message.id" title="Mark as Todo"/>
<i t-if="message.record_name && message.model != 'mail.channel' && options.display_reply_icon"
class="fa fa-reply o_thread_message_reply"
t-att-data-message-id="message.id" title="Reply"/>
<i t-if="message.is_needaction && options.display_needactions"
class="fa fa-check o_thread_message_needaction"
t-att-data-message-id="message.id" title="Mark as Read"/>
</span>
</p>
但还有一件事要做: 子类型未默认导入到消息外观数据中,因此您需要搜索一些在消息信息中不正常的典型变量(对我来说是 subtype_description)并找到它被导入和声明的位置。
我在 static > src > js > chat_manager.js 中找到它:
如您所见,我实际上添加了从消息信息导入 subtype_id 的行,毕竟我可以在 xml 中使用 message.subtype_id 作为值,我正在寻找。
最后在 odoo 消息看起来像这样:
接下来要做的就是从这里制作自定义模块,因为我所做的一切都是在本地 odoo 数据库上完成的,但这很容易,所以这个问题得到了解决,祝你有美好的一天;)
【讨论】:
以上是关于Odoo 9 如何编辑聊天机会注释视图的主要内容,如果未能解决你的问题,请参考以下文章