OCA / odoorpc

Python module to pilot your Odoo servers through JSON-RPC.
http://pythonhosted.org/OdooRPC/
GNU Lesser General Public License v3.0
231 stars 123 forks source link

Exception has occurred: RPCError 'NoneType' object has no attribute 'user' #83

Closed TarikBoukhris closed 1 year ago

TarikBoukhris commented 1 year ago

Module

Login function from odoorpc

import odoorpc domain = "192.168.1.200" port = 8369 username = "x" password = "pass" odoo = odoorpc.ODOO(domain, protocol="jsonrpc", port=port, version='16.0') odoo.db.list() db = odoo.db.list() print(db[1]) odoo.login(db[1], username, password)

Describe the bug

I'm receiving an error message while trying to login to the database. databases are retrieved but login is not working. I'm running a python script to connect on an odoo hosted in a docker container. username/password are correct.

2023-02-13 22:20:33,351 1 INFO xxx odoo.addons.base.mo dels.res_users: Login successful for db:xxx login:xxx from 172.17.0.1
2023-02-13 22:20:33,394 1 ERROR odoo16-TheWayITis-eshop-db-01 odoo.http: Excepti on during request handling.
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/odoo/http.py", line 1987, in call
response = request._serve_nodb()
File "/usr/lib/python3/dist-packages/odoo/http.py", line 1547, in _serve_nodb response = self.dispatcher.dispatch(rule.endpoint, args)
File "/usr/lib/python3/dist-packages/odoo/http.py", line 1806, in dispatch
result = endpoint(*self.request.params)
File "/usr/lib/python3/dist-packages/odoo/http.py", line 698, in route_wrapper result = endpoint(self,
args, **params_ok)
File "/usr/lib/python3/dist-packages/odoo/addons/web/controllers/session.py", line 43, in authenticate
return env['ir.http'].session_info()
File "/usr/lib/python3/dist-packages/odoo/addons/partner_autocomplete/models/i r_http.py", line 13, in session_info
session_info = super(Http, self).session_info()
File "/usr/lib/python3/dist-packages/odoo/addons/mail_bot/models/ir_http.py", line 11, in session_info
res = super(Http, self).session_info()
File "/usr/lib/python3/dist-packages/odoo/addons/mail/models/ir_http.py", line 12, in session_info
user = request.env.user
AttributeError: 'NoneType' object has no attribute 'user'
2023-02-13 22:20:33,398 1 INFO xxx werkzeug: 172.17.0. 1 - - [13/Feb/2023 22:20:33] "POST /web/session/authenticate HTTP/1.1" 200 - 47 0.085 5.135

To Reproduce

Affected versions: odoo 16.0 postgressql 15 Python 3.11.1 odoorpc 0.9.0 docker image : https://registry.hub.docker.com/_/odoo/

Steps to reproduce the behavior:

  1. execute code above

Expected behavior just a login

TarikBoukhris commented 1 year ago

Hi all,

It seems to be an issue with the Docker image. I had to use a more updated version of the official odoo image. Then it works as expected.

regards, Tarik