Skip to Content
Meniu
Trebuie să fiți înregistrat pentru a interacționa cu comunitatea.
Această întrebare a fost marcată
2 Răspunsuri
319 Vizualizări

Hi All,

I want to make  start_date, end_date readonly from the sale order view.

so I tried the below approach.



I checked with other view id's and tried to make is readonly but it is not working.
please help on this.

Imagine profil
Abandonează
Cel mai bun răspuns

Hi,


Try the following code.


<record id="sale_subscription_primary_form_view" model="ir.ui.view">

    <field name="name">sale.subscription.order.form.readonly</field>

    <field name="model">sale.order</field>

    <field name="inherit_id" ref="sale_subscription.sale_subscription_primary_form_view"/>

    <field name="arch" type="xml">

        <xpath expr="//field[@name='start_date']" position="attributes">

            <attribute name="readonly">1</attribute>

        </xpath>

        <xpath expr="//field[@name='end_date']" position="attributes">

            <attribute name="readonly">1</attribute>

        </xpath>

    </field>

</record>


In the enterprise add-on, there is another view that inherits from sale_subscription.sale_subscription_order_view_form and is set as the primary view.


Hope it helps

Imagine profil
Abandonează
Cel mai bun răspuns

Hi,

Here is update code so please try this 
<record id="sale_subscription_order_view_form_readonly" model="ir.ui.view">

    <field name="name">sale.subscription.order.form.readonly</field>

    <field name="model">sale.order</field>

    <field name="inherit_id" ref="sale_subscription.sale_subscription_order_view_form"/>

    <field name="arch" type="xml">

        <xpath expr="//field[@name='start_date']" position="attributes">

            <attribute name="readonly">1</attribute>

        </xpath>

        <xpath expr="//field[@name='end_date']" position="attributes">

            <attribute name="readonly">1</attribute>

        </xpath>

    </field>

</record>


Use xpath for reliability


other way to make filed readonly is :


<field name="start_date" readonly="1"/>

<field name="end_date" readonly="1"/>

it is make always readonly filed


I hope it is usefull

Imagine profil
Abandonează
Autor

in Odoo 18 we can do both path and using fields also.
I already tried this approach but it's no working

Hii,
Check This:
Open a sale order in Odoo

Enable Developer Mode

Click the bug icon → "Edit View: Form"

Note the External ID — is it really sale_subscription.sale_subscription_order_view_form?

If not — you are patching the wrong view.
start_date and end_date are coming from another model
Use Developer Mode to check the field origin:

Hover over the field label → if it's a related field (e.g., from subscription_id.start_date), you must modify that model/view, or set readonly in the Python field definition.
Some view or module is overriding your change after yours loads
To rule this out:

Give your view a high sequence:
<field name="priority" eval="1000"/>

OR place it at the bottom of the data list in your __manifest__.py

Try This Final Setup (Full Example):

<record id="sale_order_start_end_readonly" model="ir.ui.view">
<field name="name">sale.order.readonly.start_end</field>
<field name="model">sale.order</field>
<field name="inherit_id" ref="sale_subscription.sale_subscription_order_view_form"/>
<field name="priority" eval="1000"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='start_date']" position="attributes">
<attribute name="readonly">1</attribute>
</xpath>
<xpath expr="//field[@name='end_date']" position="attributes">
<attribute name="readonly">1</attribute>
</xpath>
</field>
</record>
i hope it is usefull
Add this temporarily to verify:
<xpath expr="//field[@name='start_date']" position="replace">
<field name="start_date" readonly="1"/>
</xpath>

Autor

I did this, The external id is sale.view_order_form but there is no field called start_date and end_date.
so I check the inherited views and then find it is subscription module's view and tried to change the attribute but it is not working.
I did it using python field as well but don't know what wrong with this!

Related Posts Răspunsuri Vizualizări Activitate
1
nov. 24
3408
5
mai 17
5446
0
apr. 16
3611
1
oct. 24
1630
1
aug. 24
1020