¿Cómo construir un menú extra que llame a otro archivo XML con la vista de otro archivo.py pero en el mismo módulo?

32 views
Skip to first unread message

marco garcia baturan

unread,
Jan 23, 2017, 11:17:39 AM1/23/17
to odoo-Argentina - Preguntas y respuestas para personalizadores


Buenas tardes,

 

Estoy desarrollando un módulo en Odoo 8.0 que hace funciones de registrar pacientes en un clinica médica donde solicita unos datos y crea una ficha por paciente con un id auto generado al respecto por cada uno. (Esta parte funciona bien) He extendido el módulo creando un archivo.py que hace el registro de la procedencia del paciente en una vista a parte que esta en otro archivo XML dentro de la carpeta 'views' dentro del módulo. (Está construido pero todavia no está vinculado el menú principal porque el servido se bloquea al entrar en bucle buscando el archivo al que apunta y no lo encuentra)

Entonces la estructura del menú en el módulo 'Registro de pacientes' es:

<!--Aquí voy a meter la lógica de procedencia a ver si e sposible--> <!-- top level menu: no parent --> <menuitem id="main_registro_menu" name="Registro de pacientes"/> <!-- A first level in the left side menu is needed before using action= attribute --> <menuitem id="registro_menu" name="Registro pacientes" parent="main_registro_menu"/> <!-- the following menuitem should appear *after* its parent registro_menu and *after* its action course_list_action --> <menuitem id="paciente_menu" name="Paciente" parent="registro_menu" action="paciente_list_action" /> <!-- SI pego este trocito y lo modifico entonces logro crear las cabeceras y accesos a otros menus de las demas tablas-->

<menuitem id="procedencia_menu" name="Procedencia de pacientes" parent="main_registro_menu"/> <!--esto ya es acceso a otra vista de la lógica-->

<menuitem id="procedencia_paciente" name="Procedencia" parent="procedencia_menu" action="paciente_list_action" /> <!--Full id location:action="admision.ingreso_list_action" It is not required when it is the same module -->

Y el archivo al que apunta en la carpeta 'views' se llama 'procedencia.xml' qué opera con el modelo 'procedencia.py', para que así a traves del menú lateral izquierdo un usuario pueda acceder a cualquiera de los modelos para operar con el módulo.

El error que muestra el servidor es:

error internal server 500

Existe un archivo comprimido adjunto a este emnsaje con todo el código del módulo.

DATOS TÉCNICOS:

S.O: Ubuntu 14.04

Virtualización: VirtualBox

Versión Odoo: 8.0


Un saludo,

Marco García Baturan.
registro.zip

Gustavo Orrillo

unread,
Jan 23, 2017, 11:20:38 AM1/23/17
to odoo-ar...@googlegroups.com
podes probar deteniendo el server, pasandolo a modo debug y luego iniciarlo actualizando el modulo a ver que mensaje da?

--
Recuerda siempre poner la mayor cantidad de datos para que se entienda bien que necesitas y que respondes. Algunos errores comunes:
 
- Siempre mencionar en que versión de odoo trabajas.
- Siempre mencionar si el servidor esta en LINUX o en windows y en que versión.
- No alcanza con colocar el debug del error, debes indicar que necesitas que haga el código.
- Comparte tu código en un servidor abierto como Github, Launchpad u otro.
- Si haces un manual, tutorial o algo de interés comunal, trata de usar google docs.
 
Tu tiempo es tan valioso como el de cualquiera de la comunidad. Aquí se valora el aporte que hagas. Cuanto mas ayudes mas ayuda recibirás.
 
Nuestras normas mínimas de convivencia puede leerlas en https://groups.google.com/d/forum/odoo-argentina?hl=es-ES
---
Has recibido este mensaje porque estás suscrito al grupo "odoo-Argentina - Preguntas y respuestas para personalizadores" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a odoo-argentina+unsubscribe@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a odoo-argentina@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

marco garcia baturan

unread,
Jan 23, 2017, 11:42:39 AM1/23/17
to odoo-ar...@googlegroups.com
Hola Gustavo,

Gracias por tu pronta respuesta. Tras investigar y probar el error debe ser que en algún punto del código de la vista principal no logra encontrar dentro de la carpeta del modulo en la sub carpeta 'views' la segunda vista que declare. Hay algún detalle que falla en mi módulo en especifico. El error sigue colgando el módulo.

Un saludo y gracias,
MGB

Para publicar en este grupo, envía un correo electrónico a odoo-ar...@googlegroups.com.

Para acceder a más opciones, visita https://groups.google.com/d/optout.

--
Recuerda siempre poner la mayor cantidad de datos para que se entienda bien que necesitas y que respondes. Algunos errores comunes:
 
- Siempre mencionar en que versión de odoo trabajas.
- Siempre mencionar si el servidor esta en LINUX o en windows y en que versión.
- No alcanza con colocar el debug del error, debes indicar que necesitas que haga el código.
- Comparte tu código en un servidor abierto como Github, Launchpad u otro.
- Si haces un manual, tutorial o algo de interés comunal, trata de usar google docs.
 
Tu tiempo es tan valioso como el de cualquiera de la comunidad. Aquí se valora el aporte que hagas. Cuanto mas ayudes mas ayuda recibirás.
 
Nuestras normas mínimas de convivencia puede leerlas en https://groups.google.com/d/forum/odoo-argentina?hl=es-ES
---
Has recibido este mensaje porque estás suscrito a un tema del grupo "odoo-Argentina - Preguntas y respuestas para personalizadores" de Grupos de Google.
Para cancelar la suscripción a este tema, visita https://groups.google.com/d/topic/odoo-argentina/2AeNgGeMbWM/unsubscribe.
Para cancelar la suscripción a este grupo y a todos sus temas, envía un correo electrónico a odoo-argentina+unsubscribe@googlegroups.com.

Gustavo Orrillo

unread,
Jan 23, 2017, 11:44:17 AM1/23/17
to odoo-ar...@googlegroups.com
si  es como decis, cuando instalas el modulo deberia dar un error, debido a que lo primero que hace Odoo es chequear el archivo __openerp__.py para asegurarse que puede encontrar todos los archivos

2017-01-23 13:42 GMT-03:00 marco garcia baturan <marc...@gmail.com>:
Hola Gustavo,

Gracias por tu pronta respuesta. Tras investigar y probar el error debe ser que en algún punto del código de la vista principal no logra encontrar dentro de la carpeta del modulo en la sub carpeta 'views' la segunda vista que declare. Hay algún detalle que falla en mi módulo en especifico. El error sigue colgando el módulo.

Un saludo y gracias,
MGB

marco garcia baturan

unread,
Jan 23, 2017, 11:59:33 AM1/23/17
to odoo-ar...@googlegroups.com
Hola de nuevo Gustavo,

Hice prueba al actualizar de nuevo lista de módulos, reiniciar el servidor y finalmente actualizar el módulo de Registro:

 File "/opt/odoo/odoo-server/openerp/addons/base/ir/ir_model.py", line 896, in xmlid_lookup
    raise ValueError('External ID not found in the system: %s' % (xmlid))
ParseError: "External ID not found in the system: registro.procedencia_action" while parsing /opt/odoo/odoo-server/addons/registro/views/registro.xml:161, near
<menuitem id="procedencia_paciente" name="Procedencia" parent="procedencia_menu" action="procedencia_action"/>

He renombrado procedencia.xml a procedencia_view.xml para así ver si es la forma correcta. 
Un saludo y gracias,
MGB.

Gustavo Orrillo

unread,
Jan 23, 2017, 12:04:35 PM1/23/17
to odoo-ar...@googlegroups.com
No encuentra la acción procedencia_action, fijate en las dependencias de __openerp__

marco garcia baturan

unread,
Jan 23, 2017, 12:53:17 PM1/23/17
to odoo-ar...@googlegroups.com
Hola,
Procedi agregar porcedencia_view.xml a __openerp__ pero da error de nuevo con que no encuentra modelo en ID. Da el mismo error que antes.
Ahora estoy provando a revisar el xml de procedencia_view para eliminar esa referencia y ver si con eso y dependdencias funciona.
Un saludo,
MGB.
Reply all
Reply to author
Forward
0 new messages