Override Label di Odoo 10

Contohnya disini saya ingin mengubah string salah satu field default yaitu field ‘standard_price’ di master produk (product.template) yang awalnya ‘Cost’ menjadi ‘Harga Beli’. Awalnya saya meng-inherit view product.product_template_only_form_view dan mengubah attribute string field ‘standard_price’ seperti berikut :

<field name="standard_price" position="attributes">
    <attribute name="string">Harga Beli</attribute>
</field>

Namun setelah upgrade module ternyata stringnya tidak berubah, tetap ‘Cost’. Kemudian saya cek codingan dari view tersebut serta mencari module lain yg menginheritnya. Dan ternyata field ‘standard_price’ ini letaknya bukan di product.product_template_only_form_view tapi ada di product.product_template_form_view. Tapi tidak masalah, kita tetap bisa inherit ke product.product_template_only_form_view.

Tapi kemudian yang jadi pertanyaan kenapa field ‘list_price’ bisa diubah string-nya sementara field ‘standard_price’ tidak, padahal penulisannya sama dan letak fileds nya juga ada di view yang sama. Setelah diselidiki ternyata field ‘list_price’ menggunakan <field/> seperti biasa sementara ‘standard_price’ menggunakan <label/> seperti berikut :

<group name="group_standard_price">
    <field name="list_price" widget='monetary' options="{'currency_field': 'currency_id'}"/>
    <label for="standard_price" groups="base.group_user"/>
    <!--div name="standard_price_uom" groups="base.group_user">
        <field name="standard_price" widget='monetary' options="{'currency_field': 'currency_id'}" class="oe_inline"/>
    </div-->
    <field name="company_id" groups="base.group_multi_company"
        options="{'no_create': True}"/>
    <field name="uom_id" groups="product.group_uom" options="{'no_create': True}"/>
    <field name="uom_po_id" groups="product.group_uom" options="{'no_create': True}"/>
    <field name="currency_id" invisible="1"/> 
</group>
*note : bagian <!–div/–> sengaja saya komen karena kalau nulis div di blog jadi berantakan, mungkin terbaca sebagai codingan.
.
dan cara untuk mengubahnya adalah :
<label for="standard_price" position="attributes">
    <attribute name="string">Harga Beli</attribute>
</label>
 kemudian upgrade module dan berhasil, horeeeeeeee 😀

Terimakasih, semoga bermanfaat dan CMIIW…

Tutorial odoo/openerp Indonesia