Parámetros de configuración en Odoo

19 de junio de 2023 por
Gustavo Orrillo
| Sin comentarios aún
 

En Odoo tenemos al menos tres maneras de almacenar los parámetros de configuración. La primera es mediante el archivo de configuración de Odoo, lo que es poco aconsejable. Ya que obliga a reiniciar Odoo cada vez que se agrega un parámetro y además debemos tener acceso al filesystem de Odoo para modificar el archivo. Una idea siempre descartada por los administradores de sistemas.

La otra forma es por medio del objeto res.config.settings, la cual es más compleja de administrar (no es tan claro el manejo para el desarrollador) y además vamos a tener una instancia por compañía. 

Odoo brinda out-of-the-box un objeto llamado ir.config_parameter al cual se lo puede acceder mediante el menu Ajustes > Técnico > Parámetros > Parámetros del Sistema. Es un objeto que consta de dos campos: una clave y un valor.




Como se puede acceder a los valores de la configuración? Hay dos formas de hacerlo mediante código. La primera es mediante el ORM, supongamos que queremos buscar el valor de la configuración API_KEY

param_id = self.env['ir.config_parameter'].search([('key','=','API_KEY')])
if param_id:
​return param_id.value
else:
​return ''

La otra opción es por medio del método get_param

return self.env['ir.config_parameter'].get_param('API_KEY')

Algo a tener en cuenta, solo devuelve strings. Y por último, se podría agregar el permiso de lectura para el grupo "Internal User". Por defecto Odoo brinda acceso a los parámetros solo a los administradores. Pero la realidad indica que siempre los usuarios necesitan (gracias a las customizaciones) acceder a dicho objeto. Por eso agregar el permiso solo de lectura del objeto ir.config_parameter para el grupo "Internal User" no dañaría a nadie.

Gustavo Orrillo 19 de junio de 2023
Compartir
Categorías
Archivar
Identificarse dejar un comentario