Вызов или добавление функции в act_window xml в odoo - PullRequest
0 голосов
/ 12 декабря 2018

Я пытался добавить новую метку на кнопку отчета на дереве.Кнопка отобразится после выбора одного из данных дерева.Я это сделал.И я строю функцию для выполнения после нажатия кнопки.Проблема в том, что я не знаю, как вызвать функцию внутри act_windows.

<act_window
id="action_report"
name="Print Report"
res_model="model.report"
key2="client_print_multi"
src_model="model.report"/>

Как вызвать функцию (def) в этом.спасибо.

1 Ответ

0 голосов
/ 12 декабря 2018

Посмотрите на ì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.

...