-
- Downloads
[FIX] orm: access error due to prefetch of indirectly referenced records.
The new-api record prefetching algorithm attempts to load data for all known records from the requested model (i.e. all IDs present in the environment cache), regardless of how indirectly/remotely they were referenced. An indirect parent record may therefore be prefetched along with its directly browsed children, possibly crossing company boundaries involuntarily. This patch implements a fallback mechanism when the prefetching failed due to what looks like an ACL restriction. The implementation of `_read_from_database` handle ACL directly and set an `AccessError` as cache value for restricted records. If a model (like `mail.message`) overwrites `read` to implements its own ACL checks and raises an `AccessError` before calling `super()` (which will then call `_read_from_database`), the cache will be not fill, leading to an unexpected exception. If this commit messae looks familiar to you, that's simply because this is the new-api counterpart of b7865502
Showing
Loading
Please register or sign in to comment