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

hi all,

how i can hide a page under notebook conditionally after inheriting view 

below is xml code where i tried to add the code but it is showing error when restart odoo server.

output when restarting server.

Element '<xpath expr="//page[@String='Wallets']">' cannot be located in parent view
View name: Contacts Custom FieldsError context: view: ir.ui.view(1292,) xmlid: view_res_partner_form_inherit view.model: res.partner view.parent: ir.ui.view(118,) file: /home/odoo/odoo-dev/odoo/custom_addons/tests/views/contactx.xml

<?xml version="1.0" encoding="UTF-8"?>
<odoo>
    <record id="view_res_partner_form_inherit" model="ir.ui.view">
        <field name="name">Contacts Custom Fields</field>
        <field name="model">res.partner</field>
        <field name="type">form</field>
        <field name="inherit_id" ref="base.view_partner_form"/>
        <field name="arch" type="xml">
            <xpath expr="//field[@name='category_id']" position="after">
                <field name="zone_id" string="Zone"/>
            </xpath>
            <!-- 
                added below lines to hide conditionally page Wallets
            -->
            <xpath expr="//page[@String='Wallets']" position="attributes">
                <attribute name="attrs">{'invisible': [('category_id.name','not like','%Customer%')]}</attribute>
            </xpath>
            <xpath expr="//notebook" position="inside">
                <page string="Wallets">
                    <group>
                        <field name="wallet_amount"/>
                        <field name="wallet_credits"/>
                        <field name="wallet_description"/>
                    </group>
                </page>
            </xpath>
        </field>
    </record>
</odoo>
อวตาร
ละทิ้ง
ผู้เขียน

why not people even says that it is not possible in odoo framework...

คำตอบที่ดีที่สุด

I got the same issue and I found not a lot of solution in the forums.

I found by myself something which worked for me in odoo v12, not tested in v14 :


<page name="input" string="Input" autofocus="autofocus" attrs="{'invisible': [('type', '!=', 'input')]}">


if it can help...

อวตาร
ละทิ้ง
คำตอบที่ดีที่สุด

Hi,

In the latest versions, you cannot use string attribute in the xpath, try to xpath using the name of the page and see.

Sample:

<xpath expr="//page[@name='accounting']/group" position="inside">
<group string="Accounting Documents" name="accounting_documents">
<field name="l10n_ar_special_purchase_document_type_ids" widget="many2many_tags"/>
</group>
</xpath>


Thanks

อวตาร
ละทิ้ง
ผู้เขียน

thanks @Niyas Raphy, but not worked, i have used name="wallets" to create page and

<xpath expr="//page[@name='wallets']" position="attributes">

<attribute name="attrs">{'invisible': [('category_id.name','not like','%Customer%')]}</attribute>

</xpath>

...

please advise...

ผู้เขียน

any help... ?

Related Posts ตอบกลับ มุมมอง กิจกรรม
[V14] Conditionally change attribute แก้ไขแล้ว
1
ก.ค. 22
11006
1
มิ.ย. 21
2615
2
พ.ค. 23
2656
2
ส.ค. 22
22995
1
ก.ค. 22
5872