Odoo讨论:添加消息按钮

时间:2018-02-13 15:18:58

标签: javascript python xml odoo-11

我尝试在收件箱中向邮件添加功能 - 向Lead发送邮件。

好吧,我做的就是它是由Odoo制作的(“潜入”):在“Mark as read”附近添加了一个按钮

/addons/mail/static/src/xml/thread.xml:添加新内容

class="fa fa-book o_thread_icon o_thread_message_message_to_lead"

然后在

/addons/mail/static/src/js/thread.js
/addons/mail/static/src/js/client_action.js
/addons/mail/static/src/js/chat_manager.js

我复制了“mark_as_read”函数并替换了函数名。

addons/mail/models/mail_message.py中的

添加了我的功能

所以,它有效!但我没有找到将其打包到自定义模块的方法:odoo直接从源读取/addons/mail/static/src/xml/thread.xml并且不将其存储在DB中。 好吧,将这一行添加到一个文件是没问题的,但是如何在没有js修改的情况下创建呢?

我试图将链接或按钮放在那里,但没有办法让它像<record id="message_to_lead" model="ir.actions.server">..</record>

有人可以帮我找到一种为邮件制作动作按钮的方法,它可以调用mail.message模型中的函数吗?

enter image description here

1 个答案:

答案 0 :(得分:0)

有趣的事情 - 我们可以扩展thread.xml模板。但我们必须采取类似的措施:

<?xml version="1.0" encoding="UTF-8"?>
<template>
    <t t-extend="mail.ChatThread.Message">
        <t t-jquery='i[title="Mark as Read"]' t-operation="before">
            <i><a ... /></i>
        </t>
    </t>
</template>

可以有动作,js或其他东西。