Ir al contenido
Menú
Se marcó esta pregunta
5 Respuestas
16356 Vistas

I have a problem in changing the names for odoo addon modules. I've tried with xpath, attributes, but I just can't get it to work.

<xpath expr="//field[@name='manager_id']" position="attributes">
    <attribute name="string">New Field Label</attribute>
</xpath>

<field name="manager_id" position="attributes">
    <attribute name="string">New Field Label</attribute>
</field>

There must be a  way to change the field labels? And is there a way to change it so that it changes in every view the field is used?

EDIT:

code that I tried:

<record model="ir.ui.view" id="view_hr_res_company_form">
	<field name="inherit_id" ref="base.view_company_form" />
	<field name="model">res.company</field>
	<field name="arch" type="xml">
		<xpath expr="//form/sheet/notebook/page/field[@name='company_registry']" position="attributes">
			<attribute name="string">Matična številka</attribute>
		</xpath>
		<xpath expr="//field[@name='vat']" position="after">
			<field name="account_no"/>
			<field name="obcina"/>
			<field name="dejavnost"/>
		</xpath>
	</field>
</record>


  

Avatar
Descartar

Hi Samo,

Your approach is correct, you need to check with priorities and also check with inherit_id.

Autor

can you dumb it down so I could understand :) I edited the question with the code I tried.

Mejor respuesta

Hi Samo,

You're trying update slovenian string as en_US in view, this is not correct approach better need to do this change into translation file directly.

add in your po file the related field like example:

#. module: <your_module>

#: field: <your_moddel>,field:0

#: field: <your_related_moddel>,field:0

msgid "English"

msgstr "Translation"

Avatar
Descartar
Autor

Can't change directly into the translation file. Needs to be in the custom module so it's independent from odoo install and it's files. Plus I don't have time to figure out another odoo functionality.

You could also change it from odoo ir translation if you're struggling to add it from files

Autor

Sushma you are correct, but NOT helpful because I don't have time for the correct way, I just need a quick work around. I'll do the correct way, when I start building the next custom module from ground up.

Autor

you where right in the first comment on my question. The xpath was to complicated. With only //field[@name="<name_of_field>"] it works.

Mejor respuesta

You can inherit the model in python 

_inherit='model.name'

and override the field definition to set the string to whatever label you desire

manager_id = fields.Many2one(string='Your preferred label')
Avatar
Descartar
Autor

It doesn't work, probably because it's translated. Any way to change the translation?

Publicaciones relacionadas Respuestas Vistas Actividad
2
sept 18
5768
1
abr 18
3255
0
ene 18
3909
0
sept 17
3088
1
mar 19
4273