tardo / odooinfo Goto Github PK
View Code? Open in Web Editor NEWFirefox web extension that shows information about Odoo instance
Firefox web extension that shows information about Odoo instance
Context: users of this extension have found themselves blocked on odoo.com when the RPC rate-limiting was made more strict.
It turns out that if you open several tabs on a single Odoo website (let's say you open a series of forum questions with the same tag to read them), you're going to fire several /jsonrpc
for each tab.
Even if you're not using the extension.
All of them requesting the exact same info.
This could be avoided easily I think.
The ideal behavior would be to depend only on session_info
when it is available, otherwise wait until the user asks for the info to load it. Currently all Odoo websites are aware of which users are using the extension, all the time, passively.
And even if on-demand loading is not desired, you could cache the information for some time (let's say 1 hour) in the local storage, instead of reloading it constantly.
PS: The same problem exists in the OdooTerminal extension apparently
list_db = false
Error logs:
Server application error
Error code: 200
Error message: Odoo Server Error
Error data message:
Access denied
Error data debug:
Traceback (most recent call last):
File "/opt/odoo/custom/src/odoo/odoo/http.py", line 619, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/opt/odoo/custom/src/odoo/odoo/http.py", line 309, in _handle_exception
raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
File "/opt/odoo/custom/src/odoo/odoo/tools/pycompat.py", line 14, in reraise
raise value
File "/opt/odoo/custom/src/odoo/odoo/http.py", line 664, in dispatch
result = self._call_function(**self.params)
File "/opt/odoo/custom/src/odoo/odoo/http.py", line 345, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/opt/odoo/custom/src/odoo/odoo/service/model.py", line 93, in wrapper
return f(dbname, *args, **kwargs)
File "/opt/odoo/custom/src/odoo/odoo/http.py", line 338, in checked_call
result = self.endpoint(*a, **kw)
File "/opt/odoo/custom/src/odoo/odoo/http.py", line 909, in __call__
return self.method(*args, **kw)
File "/opt/odoo/custom/src/odoo/odoo/http.py", line 510, in response_wrap
response = f(*args, **kw)
File "/opt/odoo/custom/src/odoo/odoo/addons/base/controllers/rpc.py", line 71, in jsonrpc
return dispatch_rpc(service, method, args)
File "/opt/odoo/custom/src/odoo/odoo/http.py", line 138, in dispatch_rpc
result = dispatch(method, params)
File "/opt/odoo/custom/src/odoo/odoo/service/db.py", line 446, in dispatch
return g[exp_method_name](*params)
File "/opt/odoo/custom/src/odoo/odoo/service/db.py", line 417, in exp_list
raise odoo.exceptions.AccessDenied()
odoo.exceptions.AccessDenied: Access denied
ajax.js:35:25
uncaught exception: Object
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.