Посмотрите на ìr.actions.server
и посмотрите, как они работают.Хороший пример из самой Odoo:
<record id="hr_expense_submit_action_server" model="ir.actions.server">
<field name="name">Expense: Submit To Manager</field>
<field name="type">ir.actions.server</field>
<field name="model_id" ref="model_hr_expense"/>
<field name="binding_model_id" ref="model_hr_expense"/>
<field name="state">code</field>
<field name="code">
if records:
action = records.submit_expenses()
</field>
</record>
Это действие на расходы, когда пользователь может одновременно подать несколько расходов своему менеджеру.Действия сервера имеют больше типа code
, но это также должно быть вашим вариантом здесь.
У вас есть res_model
и src_model
в действиях окна (ваш пример).В действиях сервера res_model
равен model_id
, а src_model
равен binding_model_id
.