在看板odoo12中禁用拖放记录

Disable drag drop record in kanban odoo12

我希望用户仅在看板视图中按阶段查看机会而不更改阶段? 并禁用排序列(阶段) 我为其他版本 7、10 和 13 找到的所有解决方案都不是 odoo version12

根据 kanban view 文档,要禁用编辑阶段,您可以在 kanban 标签上将 group_edit 选项设置为 false

<kanban ... group_edit="false">

要禁用列排序我没有找到选项,渲染器(_renderGrouped)似乎只检查舞台字段是否为many2one类型,所以我添加了一个新选项启用或禁用列排序。

var KanbanRenderer = require('web.KanbanRenderer');

KanbanRenderer.include({

    _setState: function (state) {
        var self = this;
        this._super(state);
        if (this.arch.attrs.sortable) {
            this.columnOptions = _.extend(self.columnOptions, {
                sortable: this.arch.attrs.sortable === 'true',
            });
        }

        if (this.arch.attrs.disable_drag_drop_record) {
            if (this.arch.attrs.disable_drag_drop_record=='true') {
                this.columnOptions.draggable = false;
            }
        }
    },

    _renderGrouped: function (fragment) {
        this._super.apply(this, arguments);
        if (this.columnOptions.sortable===false) {
            // remove previous sorting
            this.$el.sortable('destroy');
        }
    },

});

在看板视图中将 sortable 属性设置为 false

<kanban ... sortable="false" disable_drag_drop_record="true">

你可以通过修改 stage_id 的属性来停止它,例如

<field name="stage_id" position="attributes">
    <attribute name="readonly">True</attribute>
</field>