Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
2 Trả lời
6117 Lượt xem

Is there a way to toggle a <field> visible/invisible, e.g. by using a marker filter?

The goal is to be able to turn on/off m2o field's auto-completion/auto-suggestion on demand, ideally using another dummy filter for that.

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

Why don't you define domain in the field to filter record in auto-completion.
 

Ảnh đại diện
Huỷ bỏ
Tác giả Câu trả lời hay nhất

Hey Ben,
Many thanks for the hint!

Although using domain to completely disable search field was not quite an intuitive solution (more of a hack), it worked like a charm, indeed! While neither <code>invisible</code>, nor <code>attrs</code> attributes could fetch the changed context, <code>domain</code> attribute was indeed the only one that could access the context.

Here is the complete solution, in case somebody will need it in the future:

XML, search view:
<pre><code>
  <filter string="Disable Autocomplete" name="perm_speedup" context="{'disable_autocomplete': '='}"/>
  <field name="product_id" position="attributes">
      <attribute name="domain">[('id', context.get('disable_autocomplete', '!='), 0)]</attribute>
  </field>
  <field name="product_code" string="Product Exact" filter_domain="[('product_code', '=', self)]"/>
  <field name="product_code"/>
</code></pre>

Python:
<pre><code>
  'product_code': fields.related('product_id', 'default_code', string='Product', type='char', readonly=True),
</code></pre>

Description:
'Disable Autocomplete' filter is turned on by default (in act_window, context={'search_default_perm_speedup':1}).
This allows to quickly type in the desired product code, without waiting for the suggestions to load.
'Product Exact' is used with copy-paste codes or with barcode scanner.
'Product' (default) is used to search for partial codes.
Of course, 'Disable Autocomplete' marker-filter can be turned off when needed.

Ảnh đại diện
Huỷ bỏ
Bài viết liên quan Trả lời Lượt xem Hoạt động
1
thg 9 23
5833
0
thg 11 16
4963
1
thg 7 21
4266
7
thg 6 20
6932
0
thg 12 16
5411