Skip to Content
เมนู
คุณต้องลงทะเบียนเพื่อโต้ตอบกับคอมมูนิตี้
คำถามนี้ถูกตั้งค่าสถานะ
3 ตอบกลับ
2396 มุมมอง

Hello guys,
i need to show a field on hr application form only when an application is on 2 specific stages.

I created this code but it's not working:

 {"invisible": ["&",["stage_id","=","Phase1"],["stage_id","=","Phase2"]]}

Phase1 and Phase2 are phases names.
Any ideas?
อวตาร
ละทิ้ง
คำตอบที่ดีที่สุด

Hi,

Its not a best practice to do comparison using the name, if you can add any other boolean marker in the stag level and using that if you tried to achieve it will be better.

Anyway, here you may have to add a related field of stage name in your hr.application model and then based on it, you have to compare.

stage_name = fields.Char(related='stage_id.name')

XML:

 attrs="{'invisible': [('stage_name', 'in', ('Phase1', 'Phase2'))]}"


Thanks

อวตาร
ละทิ้ง
ผู้เขียน คำตอบที่ดีที่สุด

Thanks for the support.

I found a solution by referrinf not to stage names but to stage ids.

The code to add to xml file is:

{"invisible": ["&",["stage_id","!=",4],["stage_id","!=",5]]}
อวตาร
ละทิ้ง
คำตอบที่ดีที่สุด

Hi,
Instead of using lists, use tuples, also no need to use '&'. By default it will use the AND case.
{"invisible": [("stage_id","=","Phase1"), ("stage_id","=","Phase2")]}

Try modifying the code like this.

Hope it helps

อวตาร
ละทิ้ง
Related Posts ตอบกลับ มุมมอง กิจกรรม
1
มิ.ย. 23
2739
2
มิ.ย. 23
2311
0
เม.ย. 21
1641
3
ก.พ. 21
17733
add a field in employee module แก้ไขแล้ว
4
ต.ค. 20
6809