콘텐츠로 건너뛰기
메뉴
커뮤니티에 참여하려면 회원 가입을 하시기 바랍니다.
신고된 질문입니다

I have a client with multi-companies in Odoo 13.


Company A

Company B


How do I go into a view and say: 

If the person viewing this is viewing as someone from Company A, show these fields.  Else, don't show.

The equivalent of:

<div t-if="company_id == 2">
   <field name="company_id" groups="base.group_multi_company" options="{'no_create': True}"/>
   <field name="uom_id" groups="uom.group_uom" options="{'no_create': True}"/>
   <field name="uom_po_id" groups="uom.group_uom" options="{'no_create': True}"/>
   <field name="currency_id" invisible="1"/>
   <field name="cost_currency_id" invisible="1"/>
   <field name="product_variant_id" invisible="1"/>
</div>
아바타
취소

Visible Invisible fields: https://goo.gl/Ts3qqK

베스트 답변

Hello Russ Schneider, 

You just need to pass the following inside view action:

<field name="domain">[('company_id','=',2)]</field>

Thanks

Anisha Bahukhandi

Technical Content Writer

Webkul

아바타
취소
베스트 답변

You can achieve that by using a server action, create 2 act_window then conditionally select them in server action:

    <record id="custom_server_action" model="ir.actions.server">
        <field name="name">Custom server action</field>
        <field name="model_id" ref="my_module.model_my_model"/>
        <field name="binding_model_id" ref="my_module.model_my_model" />
        <field name="state">code</field>
        <field name="code">
if env.company.id == 2:
    action = env.ref('your_module.custom_action1').read()[0]
else:
    action = env.ref('your_module.custom_action2').read()[0]
        </field>
    </record>    
아바타
취소
작성자 베스트 답변

Solution that worked:

<field name="whatever" attrs="{'invisible': [('company_id', '=', 1)]}"/>

아바타
취소
관련 게시물 답글 화면 활동
1
6월 21
7949
1
5월 21
5213
1
12월 20
277
2
8월 20
4864
3
10월 18
5460