function - 单击特定条件 Odoo 13 显示导出操作的验证

标签 function export odoo odoo-13

我想在“草稿”阶段显示验证,即用户无法导出草稿阶段数据。我知道“def export_data(self, fields_to_export)”函数,但它在选择字段后起作用。我希望在单击导出操作时进行验证。因此,任何人都可以建议我使用哪个函数来满足我的要求。我正在使用 Odoo 13。

提前致谢。

最佳答案

实现此目的的一种方法是重写 ListController_onExportData

检查以下代码(它使用state字段):

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

    var listController = require("web.ListController");
    var dialog = require("web.Dialog");

    listController.include({
         /**
         * Opens the Export Dialog
         *
         * @private
         */
        _onExportData: function () {
            var self = this;
            var do_export = true;
            // Avoid calling `read` when `state` field is not available
            if (self.initialState.fields.hasOwnProperty('state')) {
                self._rpc({
                    model: self.modelName,
                    method: 'read',
                    args: [self.getSelectedIds(), ['state']],
                }).then(function (result) {
                    // Check if we have at least one draft record
                    for(var index in result) {
                        var item = result[index];
                        if (item.state === 'draft') {
                            do_export = false;
                            break;
                        }
                    }
                    if (do_export) {
                        self._getExportDialogWidget().open();
                    } else {
                        dialog.alert(self, "You can't export draft stage data!", {});
                    }
                });
            } else {
                this._getExportDialogWidget().open();
            }
        },
    });

});

关于function - 单击特定条件 Odoo 13 显示导出操作的验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59961258/

相关文章:

Delphi:for循环期间函数结果未清空

PHP 到 MySql 到 CSV 到 Excel UTF-8

sql-server - 将导出/导入从 SQL Server 迁移到 Oracle 的最佳方法

python - Python3.6 的 Zipfile 模块 : write to Bytes instead of Files for Odoo

c++ - 更改函数中的全局变量

c - 二维数组函数仅传入 1 个值

php - PHP 中的 MySQL;比较前编辑列值

ruby - 如何在 ruby​​ 2.2.4 (Windows) 中序列化和导出数据?

xml - Odoo,记录标签中的条件

python - 无法在centos上安装psycopg2