Muy buenas.
Me he encontrado un error tras realizar una búsqueda concreta en el inventario de productos. El error es el siguiente:
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/odoo/odoo-server/odoo/http.py", line 639, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/odoo/odoo-server/odoo/http.py", line 315, in _handle_exception
raise exception.with_traceback(None) from new_cause
psycopg2.errors.InvalidParameterValue: time zone "" not recognized
Para reproducir el error, he de hacer una agrupación por marca en el inventario y luego hacer una búsqueda de un nombre cualquiera como producto con la agrupación por marca puesta.
Ahora bien, tras investigar y depurar el código, veo que el error se genera en el script mail_activity.py de los módulos core de odoo, en la linea 856 que tiene el siguiente codigo:
self.env.cr.execute(select_query, [tz] * 3 + where_params)
Sin embargo, tras realizar una depuración del código, pude observar que la zona horaria estaba introducida y en efecto era la correcta.
Después de algunos cambios y pruebas, no me ha quedado mas remedio que modificar dos lineas del script original. Las lineas son las siguientes:
# Linea 843 original
WHERE res_model = '{model}'
# Linea 843 modificada
WHERE res_model = %s
# Linea 856 original
self.env.cr.execute(select_query, [tz] * 3 + where_params)
# Linea 856 modificada
self.env.cr.execute(select_query, [tz, tz, tz, self._name] + where_params)
Tras realizar estos cambios, puedo hacer la búsqueda que necesito hacer junto con la agrupación por "Marca".
Mi intención está en saber si los cambios que he realizado y me resultan positivos, son validos o bien estoy afrontando el problema desde una perspectiva errónea o puede ser que el error lo pueda provocar otro elemento que no he tenido en cuenta.
Cualquier ayuda al respecto es bien agradecida.
Un saludo.