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; if ($.inArray(res_model, ['inno.open.lab.report']) != -1) { self.options.addable = false; /* ボタンの作成/ self.options.deletable = false; /ボタンの削除 * / }; return ret; }, });

  2. 私はそれを置く my_module/static/src/js

  3. また、次のように terp に JavaScript を追加します。

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

4

2 に答える 2

0

はい、書き込みを行っていますが、まだもう 1 つの手順があります。

以下のコードを、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 に答える