¿Cómo utilizar un controlador de Odoo 8 de manera segura?

198 views
Skip to first unread message

Juan Formoso Vasco

unread,
Aug 31, 2015, 7:47:53 AM8/31/15
to Usuarios Odoo / OpenERP en España

Hola a todos:

Estoy enviando correos desde Odoo v8 a varios usuarios. Los correos tienen un enlace dentro, el cual si hacen click sobre él, les lleva a un controlador creado por mí. El enlace es el siguiente:

http://localhost/my-controller?my_variable=hello

Y el controlador al que llegan es éste:

class mail_controller(http.Controller):

@http.route('/my-controller', type='http')
def index(self, **args):
 my_variable
= args.get('my_variable', False)
 
if not my_variable:
   
return 'Invalid URL'
 
return '<h1>This is the received variable:</h1>' + str(my_variable)

De momento todo bien, pero ahora me gustaría utilizar métodos ORM y algunos más declarados en los modelos de Odoo. Para ello, hago lo siguiente:
connection = openerplib.get_connection(
   hostname
='localhost',
   database
='my_database',
   login
='my_user',
   password
='my_pwd',
   port
=8069
)

Pero hay dos cosas que no me gustan. Una es la seguridad, ya que tener ahí en texto plano el usuario de Odoo y su contraseña es un poco inseguro, ¿no?. La otra cosa que no me gusta es que las variables que hay ahí pueden cambiar con relativa facilidad, por lo que la conexión quedaría anulada (se puede cambiar de servidor, mover la instancia de Odoo de puerto, eliminar el usuario o simplemente cambiar la contraseña, o aún peor, si se quiere instalar mi módulo en otra base de datos, es necesario cambiar ese código).

¿Hay algún controlador más apto para lo que quiero hacer u otra manera mejor de hacerlo?

¡Un saludo y gracias!

Pedro Manuel Baeza Romero

unread,
Aug 31, 2015, 7:52:56 AM8/31/15
to Usuarios Odoo / OpenERP en España
No necesitas hacer una nueva conexión. Mira ejemplos de controladores en el que se accede directamente a la información mediante registry. Eso se hará con el usuario public y aplicando sus restricciones. Si algo no se quiere con esas restricciones, hay que hacer sudo.

Un saludo.

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

Juan Formoso Vasco

unread,
Sep 1, 2015, 8:31:46 AM9/1/15
to Usuarios Odoo / OpenERP en España
Muchas gracias Pedro.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a openerp-spain-users+unsub...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages