【发布时间】:2020-03-21 19:22:31
【问题描述】:
我希望用户仅在看板视图中按其阶段查看机会,而不是更改阶段? 并禁用排序列(阶段) 我为其他版本 7 、 10 和 13 而不是 odoo version12 找到的所有解决方案
【问题讨论】:
标签: xml security odoo odoo-12 kanban
我希望用户仅在看板视图中按其阶段查看机会,而不是更改阶段? 并禁用排序列(阶段) 我为其他版本 7 、 10 和 13 而不是 odoo version12 找到的所有解决方案
【问题讨论】:
标签: xml security odoo odoo-12 kanban
根据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">
【讨论】:
<attribute name="group_edit">false</attribute> 它只是在看板视图中禁用编辑记录,但不能在看板视图中禁用拖放卡.. 我添加了你的 js 代码并将它的文件包含在模板 web.assets_backend 但是没有效果
sortable 属性?
<attribute name="sortable">false</attribute> 但仍然无法工作我找到了一个解决方案我猜你忘了添加:```odoo.define('kanban_draggable.kanban_column',function(require){ "use strict "; ``` 它工作solution
例如,您可以通过修改 stage_id 的属性来阻止它
<field name="stage_id" position="attributes">
<attribute name="readonly">True</attribute>
</field>
【讨论】: