¿Herencias para modificar los menús?

733 views
Skip to first unread message

Alvaro Fernandez

unread,
Jul 18, 2013, 7:40:37 AM7/18/13
to openerp-s...@googlegroups.com
Hola,

      Tengo una pequeña duda. Por motivos varios, un cliente necesita sustituir la palabra "Fases" por la palabra "Servicios" en todas sus apariciones dentro de un módulo concreto. El módulo pertenece al estandar (concretamente es el "project_long_term"), por lo que necesito hacerlo todo por herencia. Sustituir las apariciones en los campos de los formularios no representa un mayor problema. Sin embargo, no consigo averiguar cómo hacerlo para el caso de los menús y de las cabeceras de los formularios (y acciones).

      Como ya he dicho, necesitaría hacerlo todo utilizando herencia. ¿Qué opciones existen para este caso? ¿Es más correcto ocultar las entradas de menú existentes (por permisos) y crear unas nuevas, o existe alguna forma de sustituirlas al igual que se puede hacer con los campos y sus atributos?


Muchísimas gracias de antemano,




Álvaro Fernández

Pedro Manuel Baeza Romero

unread,
Jul 18, 2013, 7:55:29 AM7/18/13
to openerp-s...@googlegroups.com
Buenas, Álvaro,

No existe un mecanismo de herencia como tal para los menús, aunque puedes jugar con los IDs de los mismos para modificar algunas propiedades. Si tú declaras en tu XML un menú con el mismo ID, pero le cambias algún atributo (en este caso el name), lo que prevalece es el último. Para ponerle el mismo ID, tienes que poner la notación de <módulo>.<ID> (project_long_term.xxxxxx).

Otra de las cosas que puedes hacer es modificar la traducción a español para que ponga ese texto en lugar del otro, y así no tocas nada de vistas.

Un saludo.



--
Has recibido este mensaje porque estás suscrito al grupo "Usuarios OpenERP en España" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a openerp-spain-u...@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
 
 

José Vicente

unread,
Jul 18, 2013, 8:04:22 AM7/18/13
to openerp-s...@googlegroups.com
Exportas la traducción del módulo.
A un múdulo nuevo le pones ese archivo de traducción pero modificando los terminos que quieras y funciona.

Por ejemplo:

#. module: stock
#: view:stock.picking:0
msgid "Search Stock Picking"
msgstr "Buscar nota de stock"

Con esto en un módulo nuevo se modifican esas cadenas de stock.

El módulo nuevo debe depender el que sobreescribe para no tener problemas.

Alejandro Santana

unread,
Jul 18, 2013, 11:56:26 AM7/18/13
to openerp-s...@googlegroups.com

No existe un mecanismo de herencia como tal para los menús, aunque puedes jugar con los IDs de los mismos para modificar algunas propiedades. Si tú declaras en tu XML un menú con el mismo ID, pero le cambias algún atributo (en este caso el name), lo que prevalece es el último. Para ponerle el mismo ID, tienes que poner la notación de <módulo>.<ID> (project_long_term.xxxxxx).

Aquí me surje la duda: ¿cómo controlas cuál prevalece? ¿Cómo se sabe qué módulo se carga primero? ¿Hay manera de forzarlo?
Es que mareando mucho lo de instalar módulos en muchas bases de ddatos de pruebas difererntes, acabo viendo un baile de términos en algunos sitios.

Pedro Manuel Baeza Romero

unread,
Jul 18, 2013, 12:01:43 PM7/18/13
to openerp-s...@googlegroups.com
La dependencia es la que define cuál prevalece. Si tu a un módulo le pones que depende de otro, ése tendrá prioridad.

Un saludo.


--
Message has been deleted

Alvaro Fernandez

unread,
Jul 19, 2013, 2:52:55 AM7/19/13
to openerp-s...@googlegroups.com
Hola!

     Muchas gracias a todos por la ayuda. Al final he optado por la opción del fichero de traducción. Ya que he tenido que incorporar alguna funcionalidad nueva al módulo de de proyectos (obviamente, creando un módulo heredado), he exportado y modificado del módulo "project_long_term", y lo he añadido a la carpeta "i18n" de mi módulo personalizado. Actualizo el módulo personalizado y listo! De esta forma me despreocupo de que se machaque la traducción al actualizar módulos.

     De nuevo muchas gracias!


Álvaro Fernández

Alejandro Santana

unread,
Jul 19, 2013, 12:05:41 PM7/19/13
to openerp-s...@googlegroups.com


La dependencia es la que define cuál prevalece. Si tu a un módulo le pones que depende de otro, ése tendrá prioridad.

Según dices, entiendo que es el padre el que prevalece. ¿O es justo al revés?
Es decir, si un módulo my_module (hijo) depende de base (padre), ¿va a prevalecer la traducción de base (padre) o de my_module (hijo)?

Pedro Manuel Baeza Romero

unread,
Jul 19, 2013, 1:19:04 PM7/19/13
to openerp-s...@googlegroups.com
Las de my_module, que carga posteriormente a base.

Un saludo.


--
Reply all
Reply to author
Forward
0 new messages