【问题标题】:Odoo, override tree view click's action to open another model's formOdoo,覆盖树视图单击的操作以打开另一个模型的表单
【发布时间】:2019-11-28 19:31:31
【问题描述】:

这个案子非常简单,但我找不到任何解决方案。

.py
model_a:
    field_b = fields.Many2one('model_b')

.xml
<tree string="List of model_a elements">
    <field name="field_b" />

我有一个“model_a”的列表视图。 当他点击一行时,我想将用户重定向到 field_b 的表单。

非常简单,但有没有办法做到这一点?

【问题讨论】:

标签: odoo odoo-10 odoo-9 odoo-11 odoo-12


【解决方案1】:

如果有人为此搜索解决方案。 这是在odoo 15上测试的js sn-p

将其复制到文件中并确保通过 __manifest__.py 加载文件

最后一件事:把“from.model”和“to.model”改成你需要的

odoo.define("nona.redirectToProduct", function (require) {
    "use strict";

    var ListRenderer = require("web.ListRenderer");
    ListRenderer.include({
        _renderRow: function (record) {
            let row = this._super(record);
            var self = this;
            if (record.model == "from.model") {
                row.addClass('o_list_no_open');
                // add click event
                row.bind({
                    click: function (ev) {
                        ev.preventDefault();
                        ev.stopPropagation();
                        self.do_action({
                            type: "ir.actions.act_window",
                            res_model: "to.model",
                            res_id: record.data.product_id,
                            views: [[false, "form"]],
                            target: "target",
                            context: record.context || {},
                        });
                    }
                });
            }
            return row
        },
    });
});

【讨论】:

    【解决方案2】:

    您可以通过在 xml 字段中的操作视图中添加这样的视图来轻松完成此操作

    <record id="model_a_action" model="ir.actions.act_window">
        <field name="name">model.a.form.action</field>
        <field name="res_model">model.a</field>
        <field name="view_type">form</field>
        <field name="view_mode">tree,form</field>
    </record>
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-30
    • 2018-04-17
    相关资源
    最近更新 更多