2

我在核心模块中进行了一些更改,以使用 javascript 隐藏一些按钮。我把这段代码放在我的下面view_list_editable.js

openerp.web.ListView.include({
  start: function() {
    var self = this;
    var ret = this._super.apply(this, arguments);
    var res_model = this.dataset.model;
    if ($.inArray(res_model, ['inno.open.lab.report']) != -1) {
      self.options.addable = false; /* create button */
      self.options.deletable = false; /* delete button */
    };
    return ret;
  },
});

它有效。但是当我尝试继承它时,说它根本不起作用我是这样做的

  1. 我制作了一个新的 javascript 文件,其中包含以下代码:

    instance.web.ListView = instance.web.ListView.extend({ start: function() { var self = this; var ret = this._super.apply(this, arguments); var res_model = this.dataset.model; 如果($.inArray(res_model, ['inno.open.lab.report']) != -1) { self.options.addable = false; /* 创建按钮/ self.options.deletable = false; /删除按钮 * / }; 返回 ret; }, });

  2. 我把它放在 my_module/static/src/js

  3. 我还在 terp 中添加了 javascript,如下所示:

    'js' : ['static/src/js/view_list_editable.js',],

4

2 回答 2

0

是的,你正在做 write put 还有一步要做。

在顶部的views/xml 文件中添加以下代码。

<?xml version="1.0" encoding="utf-8"?>
<openerp>
    <data>
        <template id="assets_backend" name="your-module-name" inherit_id="web.assets_backend">
            <xpath expr="." position="inside">
                <script type="text/javascript" src="/module-ame/static/src/js/view_list_editable.js"></script>
            </xpath>
        </template>
    </data>
</openerp>

试试这个。!

于 2014-09-18T05:02:16.907 回答
0

我相信您也必须'web'在 terp 的依赖项部分中拥有:

'depends': [
         'web',
         ],
于 2014-09-16T16:36:21.413 回答