Odoo Обсудить: добавить кнопку в сообщение
Я пытаюсь добавить функцию в сообщение в папке "Входящие" - отправить сообщение руководителю.
Хорошо, я сделал так, как это сделал Odoo("погружение в"): добавил кнопку рядом с "Пометить как прочитанное"
/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 непосредственно из источника и не хранит его в БД. Хорошо, это не проблема, чтобы добавить эту строку в один файл, но как я могу сделать это без JS-модификации?
Я пытался поместить ссылку или кнопку там, но не нашел способа сделать это как <record id="message_to_lead" model="ir.actions.server">..</record>
Может кто-нибудь помочь мне найти способ сделать кнопку действия для сообщения, которое вызывает функцию в модели mail.message?
1 ответ
Интересная вещь - мы можем расширить шаблон 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, или что-то еще.