如何从核心OpenERP 6.1继承javascript

How to inherit javascript from core OpenERP 6.1

本文关键字:继承 javascript OpenERP 核心      更新时间:2023-09-26

我在核心模块中做了一些更改,用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=实例.web.List视图扩展({start:function(){var self=this;var ret=这个_super.apply(this,arguments);var res_model=this.dataset.model;if($.inArray(res_model,['ino.open.lab.report'])!=-1){self.options.addable=false;/*创建按钮/self.options.deleteable=false/删除按钮*/};回流管;},});

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

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

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

我认为在terp的依赖项部分也必须有'web'

'depends': [
         'web',
         ],

是的,您正在进行写操作,还有一步要做。

将以下代码添加到顶部的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>

试试这个。!