Odoo JavaScript隐藏Form表单的创建、编辑按钮

odoo.define('invisible_form_button', function (require) {
    "use strict";
    const FormController = require('web.FormController');
    FormController.include({
        updateButtons: function () {
            this._super.apply(this, arguments)
            var self = this;
            var attrs = this.renderer.arch.attrs;
            var arrs = ['edit', 'create']
            _.each(arrs, function (arr) {
                var value = attrs['invisible_' + arr];
                if (value) {
                    var result = self._evalExpression(value)
                    if (!result) {
                        self.$buttons.find('.o_form_button_' + arr).show()
                    } else {
                        self.$buttons.find('.o_form_button_' + arr).hide()
                    }
                }
            })
        },
        /*下面的函数取自Odoo12一个隐藏form的插件方法, 暂时没研究(可到OCA自行查找)*/
        _evalExpression: function (value) {
            var tokens = py.tokenize(value);
            var tree = py.parse(tokens);
            // 去除context后的数据
            var evalContent = this.renderer.state.evalContext
            // tree(name, expression, value) evaluate
            var evaluate_result = py.evaluate(tree, evalContent)
            // 返回是否满足写的条件
            return py.PY_isTrue(evaluate_result);
        }
    })
})
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值