Skip to Content
Menu
This question has been flagged
1 Reply
13932 Views

From always, Xpath has matched all elements with a given query, and I had to add [1] at the end to match only the first match.

In OpenERP 7 I have this view definition:

<record id="view" model="ir.ui.view">
    <field name="name">mail.message.full_expand</field>
    <field name="model">mail.message</field>
    <field name="inherit_id" ref="mail.view_message_form"/>
    <field name="arch" type="xml">
        <xpath expr="//field" position="attributes">
            <attribute name="readonly">1</attribute>
        </xpath>
    </field>
</record>

Its purpose is to copy another view, but fully read-only. However it stops at the first match. Is there any way to make Xpath match every field?

Avatar
Discard
Best Answer

You want to edit the root form tag directly to give it edit="false":

 <record id="view" model="ir.ui.view">
    <field name="name">mail.message.full_expand</field>
    <field name="model">mail.message</field>
    <field name="inherit_id" ref="mail.view_message_form"/>
    <field name="arch" type="xml">
        <xpath expr="/form" position="attributes">
            <attribute name="edit">false</attribute>
        </xpath>
    </field>
</record>
Avatar
Discard
Related Posts Replies Views Activity
1
Aug 24
2868
2
May 24
3694
2
Mar 22
10623
1
Jan 22
3136
4
Sep 20
6845