2015-11-13 10 views
7

私のモデルにOne2Manyフィールドがあります。私は制限= 5ツリーの要素を表示します。しかし、どのように私のカスタムリスト(例えば:10-15など)に可能な値(80-200-500など)でリストを変更することができますか?Odoo。制限付きドロップダウン

enter image description here

ここに私のxml:

<!-- 
    info about view: 
    <record model="ir.ui.view" id="view_my_id_employee_form"> 
     <field name="name">hr.employee.property.form.inherit</field> 
     <field name="model">hr.employee</field> 
     <field name="inherit_id" ref="hr.view_employee_form" /> 
--> 
<field name="adaptation_result_ids"> 
    <tree default_order="date desc" limit="5"> 
     <field name="name"/> 
     <field name="date"/> 
    </tree> 
</field> 

は、多分それは、ウィンドウアクション設定でを使用可能ですか?

enter image description here

私はさまざまな方法が、無駄にすべてを試してみました。 私の問題を手伝ってもらえますか? ありがとうございます。

+0

私はあなたの質問を理解していません、one2manyのドメインを制限することを意味しますか?その場合、ドメインをどのようなパラメータに制限しますか?もし正しい方向のimならば、あなたの適応結果オブジェクトの中の別のフィールド(ブール値のような)が違いになり、one2Manyドメインフィルタを追加してください。 – dccdany

+0

ドロップダウンの値を変更する必要がありますビューのフィールド)。 'adaptation_result_ids' - One2Manyフィールドです。そして、この_tree_要素に対してのみ可能な値のリストを設定する必要があります。可能です? –

+0

はい、ただし、200,300,500,1000,2500の5つのアイテムがあり、200,300,500を表示したいとしましょう。あなたが見せたいもの表示したくない(1000 - 2500)? – dccdany

答えて

5

/addons/web/static/src/js/views/list_view.js

render_pager: function($node) { 
//... 
this.$pager 
//... 
.find('.oe_list_pager_state') 
    .click(function (e) { 
     e.stopPropagation(); 
     var $this = $(this); 

     var $select = $('<select>') 
      .appendTo($this.empty()) 
      .click(function (e) {e.stopPropagation();}) 
      .append('<option value="80">80</option>' + 
       '<option value="200">200</option>' + 
       '<option value="500">500</option>' + 
       '<option value="2000">2000</option>' + 
       '<option value="NaN">' + _t("Unlimited") + '</option>') 
      .change(function() { 
       var val = parseInt($select.val(), 10); 
       self._limit = (isNaN(val) ? null : val); 
       self.page = 0; 
       self.reload_content(); 
      }).blur(function() { 
       $(this).trigger('change'); 
      }) 
      .val(self._limit || 'NaN'); 
     }); 
//... 
} 

/my_module/template.xml

<openerp> 
    <data> 
     <template id="assets_backend_tree_pager" name="tree pager" inherit_id="web.assets_backend"> 
      <xpath expr="//script[@src='/web/static/src/js/views/list_view.js']" position="replace"> 
       <script type="text/javascript" src="/my_module/static/src/js/views/list_view.js"></script> 
      </xpath> 
     </template> 
    </data> 
</openerp> 

/my_module /静的/ SRC/JS /景色/list_view.js

// TODO code 
関連する問題