Я пытаюсь добавить кнопку в древовидное представление модуля заказ на продажу рядом с кнопками создать и импортировать. Эта кнопка выполнит метод Python.
Я создал свой собственный модуль, расширив модуль заказа на продажу, а затем выполнил следующие шаги:
Шаг 1. Создайте кнопку в my_module/static/src/xml/qweb.xml:
<?xml version="1.0" encoding="UTF-8"?>
<templates id="template" xml:space="preserve">
<t t-extend="ListView.buttons">
<t t-jquery="button.o_list_button_add" t-operation="after">
<t t-if="widget.model=='sale.order'">
<button class="btn btn-sm btn-primary update_sales_button" type="button">Run my stuff</button>
</t>
</t>
</t>
</templates>
Шаг 2. Добавьте файл в раздел qweb в __openerp.py__ моего модуля:
'depends': ['sale'],
'data': [],
'qweb': ['static/src/xml/qweb.xml'],
Теперь появляется кнопка.
Шаг 3. Создайте метод python для придания функциональности кнопке в файле my_module/my_python_file.py:
from openerp import api, fields, models, _
class SaleOrderExtended(models.Model):
_inherit = ['sale.order']
@api.multi
def update_sales_button(self):
...
Примечание. Метод Python был протестирован вне odoo и работает нормально.
Как я могу связать этот метод Python с кнопкой?