tmijail / odoo-power-bi-connector Goto Github PK
View Code? Open in Web Editor NEWQuery Odoo from Power BI.
License: Mozilla Public License 2.0
Query Odoo from Power BI.
License: Mozilla Public License 2.0
werkzeug.exceptions.BadRequest: 400 Bad Request: <function RPC.jsonrpc at 0x7f1c6e159ee0>, /jsonrpc: Function declared as capable of handling request of type 'json' but called with a request of type 'apijson'
From Odoo V14 API keys can be used instead of traditional username/pass as auth method. When 2-factor auth is enabled for a user, an authentication error occurs:
The API key is thus mandatory when using the JsonRPC API with a user that has 2-factor auth enabled.
Being able to choose authentication method by API key would solve this issue.
https://www.odoo.com/documentation/16.0/developer/api/external_api.html#api-keys
hello tmijail
database can't connect, looks like an error occurred in res.user.parent_id
Odoo Server Error: Invalid parent field: res.users.parent_id
Details:
Traceback (most recent call last):
File "/home/odoo/src/odoo/16.0/odoo/http.py", line 1584, in _serve_db
return service_model.retrying(self._serve_ir_http, self.env)
File "/home/odoo/src/odoo/16.0/odoo/service/model.py", line 133, in retrying
result = func()
File "/home/odoo/src/odoo/16.0/odoo/http.py", line 1611, in _serve_ir_http
response = self.dispatcher.dispatch(rule.endpoint, args)
File "/home/odoo/src/odoo/16.0/odoo/http.py", line 1815, in dispatch
result = self.request.registry['ir.http']._dispatch(endpoint)
File "/home/odoo/src/odoo/16.0/odoo/addons/base/models/ir_http.py", line 154, in _dispatch
result = endpoint(**request.params)
File "/home/odoo/src/odoo/16.0/odoo/http.py", line 697, in route_wrapper
result = endpoint(self, *args, **params_ok)
File "/home/odoo/src/custom/trial/saas_trial/controllers/main.py", line 275, in jsonrpc
res = super(OdooRPC, self).jsonrpc(service, method, args)
File "/home/odoo/src/odoo/16.0/odoo/http.py", line 697, in route_wrapper
result = endpoint(self, *args, **params_ok)
File "/home/odoo/src/odoo/16.0/odoo/addons/base/controllers/rpc.py", line 156, in jsonrpc
return dispatch_rpc(service, method, args)
File "/home/odoo/src/odoo/16.0/odoo/http.py", line 366, in dispatch_rpc
return dispatch(method, params)
File "/home/odoo/src/odoo/16.0/odoo/service/model.py", line 37, in dispatch
res = execute_kw(db, uid, *params[3:])
File "/home/odoo/src/odoo/16.0/odoo/service/model.py", line 59, in execute_kw
return execute(db, uid, obj, method, *args, **kw or {})
File "/home/odoo/src/odoo/16.0/odoo/service/model.py", line 65, in execute
res = execute_cr(cr, uid, obj, method, *args, **kw)
File "/home/odoo/src/odoo/16.0/odoo/service/model.py", line 50, in execute_cr
result = retrying(partial(odoo.api.call_kw, recs, method, args, kw), env)
File "/home/odoo/src/odoo/16.0/odoo/service/model.py", line 133, in retrying
result = func()
File "/home/odoo/src/odoo/16.0/odoo/api.py", line 457, in call_kw
result = _call_kw_model(method, model, args, kwargs)
File "/home/odoo/src/odoo/16.0/odoo/api.py", line 430, in _call_kw_model
result = method(recs, *args, **kwargs)
File "/home/odoo/src/odoo/16.0/odoo/models.py", line 2188, in read_group
result = self._read_group_raw(domain, fields, groupby, offset=offset, limit=limit, orderby=orderby, lazy=lazy)
File "/home/odoo/src/odoo/16.0/odoo/models.py", line 2213, in _read_group_raw
query = self._where_calc(domain)
File "/home/odoo/src/odoo/16.0/odoo/models.py", line 4407, in _where_calc
return expression.expression(domain, self).query
File "/home/odoo/src/odoo/16.0/odoo/osv/expression.py", line 447, in init
self.parse()
File "/home/odoo/src/odoo/16.0/odoo/osv/expression.py", line 721, in parse
right_ids = comodel.with_context(active_test=False)._search([(path[1], operator, right)], order='id')
File "/home/odoo/src/odoo/16.0/odoo/addons/base/models/res_users.py", line 208, in _search
return super(Groups, self)._search(args, offset=offset, limit=limit, order=order, count=count, access_rights_uid=access_rights_uid)
File "/home/odoo/src/odoo/16.0/odoo/models.py", line 4639, in _search
query = self._where_calc(domain)
File "/home/odoo/src/odoo/16.0/odoo/models.py", line 4407, in _where_calc
return expression.expression(domain, self).query
File "/home/odoo/src/odoo/16.0/odoo/osv/expression.py", line 447, in init
self.parse()
File "/home/odoo/src/odoo/16.0/odoo/osv/expression.py", line 829, in parse
domain = HIERARCHY_FUNCS[operator]('id', ids2, comodel)
File "/home/odoo/src/odoo/16.0/odoo/osv/expression.py", line 561, in child_of_domain
raise ValueError(f"Invalid parent field: {left_model._fields[parent_name]}")
ValueError: Invalid parent field: res.users.parent_id
Regards,
I've found that if you run the search_read method, unless your user account has Administrator Settings permission an error occurs as below.
Odoo Server Error: You are not allowed to access 'Model Access' (ir.model.access) records.
This operation is allowed for the following groups:
- Administration/Access Rights
Contact your administrator to request access if necessary.
Details:
Traceback (most recent call last):
File "/data/build/odoo/odoo/http.py", line 1452, in _dispatch_nodb
result = request.dispatch()
File "/data/build/odoo/odoo/http.py", line 684, in dispatch
result = self._call_function(**self.params)
File "/data/build/odoo/odoo/http.py", line 361, in _call_function
return self.endpoint(*args, **kwargs)
File "/data/build/odoo/odoo/http.py", line 913, in call
return self.method(*args, **kw)
File "/data/build/odoo/odoo/http.py", line 532, in response_wrap
response = f(*args, **kw)
File "/data/build/odoo/odoo/addons/base/controllers/rpc.py", line 96, in jsonrpc
return dispatch_rpc(service, method, args)
File "/data/build/odoo/odoo/http.py", line 141, in dispatch_rpc
result = dispatch(method, params)
File "/data/build/odoo/odoo/service/model.py", line 41, in dispatch
res = fn(db, uid, *params)
File "/data/build/odoo/odoo/service/model.py", line 168, in execute_kw
return execute(db, uid, obj, method, *args, **kw or {})
File "/data/build/odoo/odoo/service/model.py", line 94, in wrapper
return f(dbname, *args, **kwargs)
File "/data/build/odoo/odoo/service/model.py", line 175, in execute
res = execute_cr(cr, uid, obj, method, *args, **kw)
File "/data/build/odoo/odoo/service/model.py", line 159, in execute_cr
result = odoo.api.call_kw(recs, method, args, kw)
File "/data/build/odoo/odoo/api.py", line 395, in call_kw
result = _call_kw_model(method, model, args, kwargs)
File "/data/build/odoo/odoo/api.py", line 368, in _call_kw_model
result = method(recs, *args, **kwargs)
File "/data/build/odoo/odoo/models.py", line 2254, in read_group
result = self._read_group_raw(domain, fields, groupby, offset=offset, limit=limit, orderby=orderby, lazy=lazy)
File "/data/build/odoo/odoo/models.py", line 2276, in _read_group_raw
self.check_access_rights('read')
File "/data/build/odoo/odoo/models.py", line 3332, in check_access_rights
return self.env['ir.model.access'].check(self._name, operation, raise_exception)
File "", line 2, in check
File "/data/build/odoo/odoo/tools/cache.py", line 90, in lookup
value = d[key] = self.method(*args, **kwargs)
File "/data/build/odoo/odoo/addons/base/models/ir_model.py", line 1805, in check
raise AccessError(msg)
Exception
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/data/build/odoo/odoo/http.py", line 640, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/data/build/odoo/odoo/http.py", line 316, in _handle_exception
raise exception.with_traceback(None) from new_cause
odoo.exceptions.AccessError: You are not allowed to access 'Model Access' (ir.model.access) records.
This operation is allowed for the following groups:
- Administration/Access Rights
Contact your administrator to request access if necessary.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.